クッキーの自動ログインをしようとしているのですが、クッキーが設定されているのに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']);
}