當在Yii2中偵測到特定IP時,引發對應的事件
P粉031492081
P粉031492081 2023-09-10 22:38:09
0
1
671

我正在開發一個餐廳系統,每當有人連接到餐廳的網路時,必須彈出一個菜單選項卡。我嘗試透過偵測使用者的IP位址並查看是否與餐廳的網路相符來實現。但是它根本不起作用。 (所有程式碼都必須使用Yii2,這是我第一次接觸,沒有經驗)

我檢查了所有的資料夾和檔案名,但都是正確的,事件根本不運行。

只是為了提供一些背景信息,我有一個組件來進行檢測工作,所有的程式碼都在那個文件中運行。問題似乎出現在實際的控制器中。

<?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'); 

        
    }
}


?>

我什至不知道這是否是正確的方法,在有人連接到網路時彈出一個選項卡,但這比根本不嘗試要好。我會非常感謝一些幫助,因為我在Yii2上沒有經驗。

P粉031492081
P粉031492081

全部回覆(1)
P粉276577460

您應該閱讀Yii2文檔上關於處理請求的部分

要取得客戶端的IP,文件在這裡,請求API文件在這裡

$userHost = Yii::$app->request->userHost;
$userIP = Yii::$app->request->userIP;
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板