recherche

Maison  >  Questions et réponses  >  le corps du texte

Lorsqu'une adresse IP spécifique est détectée dans Yii2, déclenchez l'événement correspondant

Je travaille sur un système de restaurant et chaque fois que quelqu'un se connecte au réseau du restaurant, un onglet de menu doit apparaître. J'ai essayé cela en détectant l'adresse IP de l'utilisateur et en voyant si elle correspondait au réseau du restaurant. Mais ça ne marche pas du tout. (Tous les codes doivent utiliser Yii2, c'est mon premier contact, aucune expérience)

J'ai vérifié tous les noms de dossiers et de fichiers mais ils sont tous corrects, l'événement ne se déroule pas du tout.

Juste pour fournir quelques informations de base, j'ai un composant qui effectue le travail d'instrumentation et tout le code est exécuté dans ce fichier. Le problème semble provenir du contrôleur lui-même.

<?php

namespace app\controllers;

use Yii;
use yii\web\Controller;



class NetworkController extends Controller{

    public function actionNetworkTeste(){
        
        Yii::$app->networkEventManager->on('specificNetworkConnectionDetected', [$this, 'onSpecificNetworkConnectionDetected']);

        return $this->render('networkTeste');
   
    }

    public function onSpecificNetworkConnectionDetected($event){

        //Yii::debug('Funcionou');

        return $this->render('network-alt'); 

        
    }
}


?>

Je ne sais même pas si c'est la bonne façon de procéder, afficher un onglet lorsque quelqu'un est connecté au réseau, mais c'est mieux que de ne pas essayer du tout. J'apprécierais vraiment de l'aide car je n'ai aucune expérience avec Yii2.

P粉031492081P粉031492081459 Il y a quelques jours679

répondre à tous(1)je répondrai

  • P粉276577460

    P粉2765774602023-09-11 20:36:24

    Vous devriez lire la section sur le traitement des demandes sur la documentation Yii2

    Pour obtenir l'IP du client, la documentation est ici, et la documentation de l'API de requête est ici

    $userHost = Yii::$app->request->userHost;
    $userIP = Yii::$app->request->userIP;

    répondre
    0
  • Annulerrépondre