setcookie PHP не работает правильно - PullRequest
1 голос
/ 03 мая 2011

У меня такая ситуация: у меня setcookie("bla",md5("bla"),time()+36000). После этого я вижу этот куки в браузере, но если я напишу print_r($_COOKIE) на сервере - не будет куки с ключом "bla". Есть идеи?

вот список:

  setcookie("login_cookie",md5($result['user_password']."solt"),time()+36000);
  setcookie("login_info",$result['user_id'],time()+36000);
  header("Location:{$_SERVER['HTTP_REFERER']}");
  exit();

Ответы [ 2 ]

6 голосов
/ 03 мая 2011

Попробуйте следующее (установите аргумент пути в корень):

setcookie("login_cookie",md5($result['user_password']."solt"),time()+36000, '/');
setcookie("login_info",$result['user_id'],time()+36000, '/');

У меня такое ощущение, что вы переходите в другой каталог в перенаправлении, поэтому он не отображается, конечно, я могу ошибаться.

2 голосов
/ 03 мая 2011

$_COOKIE является одним из суперглобальных элементов, которые содержат информацию, передаваемую в HTTP-запросе.Вы увидите это только тогда, когда запрос сделан браузером, у которого уже есть cookie, , а не непосредственно после вызова setcookie().

Кроме того, в вашем примере кода вы видитечтобы попытаться выполнить конкататацию с использованием оператора +:

$result['user_password']+"solt"

PHP использует оператор . для конкатата.

...