1

我有这样的情况:我愿意setcookie("bla",md5("bla"),time()+36000)。在此之后,我确实在浏览器中看到了这个 cookie,但如果我将print_r($_COOKIE)在服务器上写入 - 将不存在键为“bla”的 cookie。有任何想法吗?

这是清单:

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

2 回答 2

6

尝试以下操作(将路径参数设置为根):

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

我有一种感觉,您将在重定向中转到不同的目录,这就是它不显示的原因,当然,我可能是错的。

于 2011-05-03T13:09:22.350 回答
2

$_COOKIE是包含在 HTTP 请求中传递的信息的超级全局变量之一。只有在已经拥有 cookie 的浏览器发出请求时,您才会看到它,而不是在调用setcookie().

此外,在您的代码示例中,您似乎正在尝试使用+运算符进行连接:

$result['user_password']+"solt"

PHP 使用.concat 运算符。

于 2011-05-03T13:03:10.170 回答