ユーザが自分のウェブサイトに戻ると、最後のセッションを$_COOKIE
連想配列から復元しようとします。期待どおりに機能しません。私はブラウザのクッキーマネージャーを見て、クッキーがそこにあるのを見ることができますが、彼らは$_SESSION
連想配列に保存されていないようです。PHPセッションがクッキーから復元されない
時に自分のサイトにユーザーが戻るこれは本質的にプログラムの流れです:
foreach ($_COOKIE as $name => $val)
{
$_SESSION[$name] = $val;
}
session_start();
...
$some_var = $_SESSION[$var_name];
私は順不同で物事を持っていますか、または私はPHPSESSID
を上書きすべきではありませんか?私が間違っていることについての洞察は高く評価されます。ありがとう。
あなたは、これは完全に間違っています。あなたがしなければならない*唯一のことは 'session_start()'を呼び出すことです - '$ _COOKIE'を忘れると、PHPはこれをあなたのためにすべて行います。 – DaveRandom
したがって、私は手動でクッキー( 'setcookie')を保存し、' session_start'はそれらを自動的に '$ _SESSION'連想配列に保存しますか? –
'setcookie()'は必要ありません。 'session_start()'を呼び出すと自動的にクッキーが設定されます。 – DaveRandom