ログアウト後に「再度ログインしないでください」というメッセージが表示されるのはなぜですか?セッションがクリアされていないのでしょうか?非科学的
#Base.php コントローラ:
<?php
名前空間 app\admin\common;
use think\Controller;
use think\Session;
class Base extends Controller{
// Base.php コントローラーは主に 3 つのタスクを実行します:
// 1. ログイン フラグを作成します。定数、
// 2. ログに記録されていないものを処理します。
// 3. ログインしている、
保護された関数 _initialize(){
を処理します。 ::_initialize();
// パブリック コントローラーの初期化メソッドで、ユーザーがログインしているかログインしているかを判断するための定数を作成します。
define('USER_ID ',Session ::get('user_id'));
}
// ユーザーがログインしているかどうかを判断し、バックグラウンドの入り口で保護された関数 isLogin(){ で
を呼び出します。
// ログイン定数が空の場合、ログインがないことを意味します
if(is_null('USER_ID')){
$this->error ('未ログイン、アクセスなし...','login/index');
}
}
// ユーザーがすでにログインしている場合、彼はログインできなくなります
protected function selectedLogin(){
//ログイン定数が空の場合、ログインがないことを意味します
if(!is_null ('USER_ID')){
$this- >error('再度ログインしないでください...','index/index');
}
}
}
?>
if(is_null('USER_ID')){
}
if(!is_null('USER_ID')){
}
2 つの 'USER_ID' 一重引用符を削除します
is_null は変数の型が null かどうかを判断するために使用されます
それを empty() に変更するだけです
<?php
名前空間 appadmincontroller;
appadmincommonBase を使用;
thinkRequest を使用;
appadminmodelAdmin を使用;
thinkSession を使用;
クラスログインはBase
{
を拡張します// ログインインターフェイスをレンダリングします
パブリック関数 Index()
{
} $this->alreadyLogin();
身 // ユーザー ID を検証します
パブリック関数チェック (リクエスト $Request) {
/ / 返された値の初期値を設定します
$ Status = 0; // フォームによって送信されたデータを取得し、In 変数に保持します $data=$request->param() $userName= $ data [username ']; save(['last_time'=>time()]); set(name:'user_info',value:$data); Return ['status'=>$status,'message'=>$message];}
// ログアウト public function logout() { // session (null);Session::delete('user_id');
Session::delete('user_info')
//