thinkphp、モジュール内のメソッド間をジャンプした後にセッション値がクリアされるのはなぜですか?どうやって対処すればいいのでしょうか?
ログインする前に、セッションの特定の値が空かどうかを判断し、空でない場合はログインページに移動します。次のページ。しかし、ジャンプ後にセッション値が理由もなくクリアされた場合はどうなったでしょうか?問題を解決するにはどうすればよいですか?
thinkphpは独自のセッション処理メソッドを提供していますので、ご利用ください
public function logincheck(){ session_start(); $stu=new Model('Priminfo'); if($stu->create()){ $stuid=$stu->stuid; $pwd=md5($stu->pwd); $list=$stu->where("stuid='$stuid' and pwd='$pwd'")->field('stuid,pwd')->find(); if($list!==NULL && $list!==''){ session('stuid',$stuid); echo session('stuid'); echo '<script language="javascript">alert("登陆成功");window.location.href="index"</script>'; }else{ echo '<script language="javascript">alert("登陆失败");window.location.href="login"</script>'; } }else{ echo '<script language="javascript">alert("创建数据失败");window.location.href="login"</script>'; } }
ログインユーザー情報の確認メソッドlogincheckです
public function index(){ session_start(); if(session('?stuid')){ $this->assign('title','暨南大学深圳旅游学院学生信息管理系统'); $this->display(); }else{ //$this->redirect('login',5,'页面跳转中'); echo '<script language="javascript">alert("不存在session stuid的值");window.location.href="login"</script>'; } }
ログイン後ですチェックは成功しました。 Index メソッドにジャンプしますが、セッション値はクリアされます
session_start(); の行をすべてコメントアウトします
echo session('stuid');
logincheck のこのコードは、引き続きセッション値を出力し、ログインをポップアップすることもできます成功しましたが、インデックス メソッドにジャンプすると、「セッション stuid の値がありません」というダイアログ ボックスが表示されます。 session_start をコメントアウトしても機能しません
thinkphp には独自の session_auto_start があり、デフォルトで有効になっています
こんにちは!先生、私もあなたと同じ問題に遭遇しました、解決しましたか?
私も同様の問題に遭遇しました。最初の 2 日間は正常に動作しましたが、$_SESSION['verify の値が待ちきれません。検証コード内の '] は常に null です...
qq545350163 にご連絡ください
同じ問題です... 解決策は実際には見つかりませんでしたが、同じプログラムがサーバー上で正常に動作します
したがって、それは環境の問題に違いありません。問題... しかし、問題が見つかりません。
同じアクションの 2 つのメソッドのどちらも取得できません
tp
Owner が提供するセッションメソッドも使用します。あなたの問題はおかしくありません、私の今の問題は、取得できる場所と取得できない場所があり、取得できる場所と取得できない場合があります。 。 。 。元の投稿者がそれを解決したのだろうか?誰かが問題を解決できる場合は、誰かが私にアドバイスを与えることを願っています、、、、、、、
私のMacでテストしたところ、まったく問題はありませんでしたが、サーバーにアップロードすると、セッション値がページ全体が空でした
同じ質問をしましたああああああああああああああああああ