Когда пользователь возвращается на мой сайт, он пытается восстановить свой последний сеанс из ассоциативного массива $_COOKIE
. Он работает не так, как ожидалось. Я могу посмотреть в менеджере cookie моего браузера и увидеть, что файлы cookie есть, но они, похоже, не сохраняются в ассоциативном массиве $_SESSION
.Сессия PHP, не восстанавливающаяся из файлов cookie
Это, по существу, поток программы, когда пользователь возвращается на мой сайт:
foreach ($_COOKIE as $name => $val)
{
$_SESSION[$name] = $val;
}
session_start();
...
$some_var = $_SESSION[$var_name];
У меня есть вещи из строя, или я не должен быть перезапись PHPSESSID
? Любое понимание того, что я делаю неправильно, будет оценено по достоинству. Благодарю.
Вы это совершенно неправильно. * Единственное, что вам нужно сделать, это вызвать 'session_start()' - забудьте о '$ _COOKIE', PHP делает все это для вас. – DaveRandom
Итак, я вручную сохраняю файлы cookie ('setcookie'), а' session_start' автоматически сохраняет их обратно в ассоциативный массив '$ _SESSION'? –
Вам не нужно «setcookie()' - вызов 'session_start()' автоматически устанавливает для вас файл cookie. – DaveRandom