0

クッキーの自動ログインをしようとしているのですが、クッキーが設定されているのにphpが読めません。設定されているのはクッキーモンスターで見れるからわかるけど、何が悪いのかわからない… 助けて!それは私を夢中にさせています!

Cookie を設定するコード (HTML タグの前に行います)

setcookie("autologin", $_SESSION['user'], time()+5184000, "/");

それを取得するコード:

if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) {
     $_SESSION['user']=$_COOKIE['autologin'];
}

更新: 同じスクリプトで上記のコードを使用しません。ログインしてブラウザを閉じ、再度開いてCookieを取得しようとしました.CookieはCookie Monsterにありますが、phpはそれを見ることができません.

修正: 私の問題は、シリアル化されたオブジェクト $_SESSION['user'] を Cookie に保存しようとしていたことでした。これで修正されました。

setcookie("autologin", base64_encode($_SESSION['user']), time()+5184000, "/");

そして次のように取得します:

if (!isset($_SESSION['user']) && isset($_COOKIE['autologin'])) {
         $_SESSION['user']=base64_decode($_COOKIE['autologin']);
}
4

2 に答える 2

0

この Cookie は、次のページの読み込み時に利用可能になります。このページでは、自分で定義できます。

于 2013-02-24T13:53:36.043 に答える