这个 PHP 小片段用于设置一个 cookie,让我确定用户是否登录。出于某种原因,在我使用 javascript 重定向后,我的 cookie 都没有再设置。为什么会发生这种情况?
我可能没有给你足够的信息,所以如果是的话请告诉我。
...some database queries...
<?php
$expire=time()+(7 * 24 * 60 * 60);
$row = mysql_fetch_array($query);
$email = $row['email'];
$userinfo['name'] = $name;
$userinfo['email'] = $email;
$userinfo = serialize($userinfo);
setcookie("user", $userinfo, $expire);
echo '<script type="text/javascript">
window.location = "../index.php";
</script>';
?>
最佳答案
Tory,请确保在 PHP 中调用 set setcookie
之前不输出任何内容。甚至没有空白。没有 echo 。没有什么。我猜你的脚本会在 setcookie 之前输出一些东西,这会破坏你的脚本。您是否看到 header 已发送错误?注释掉你的JS然后检查。你这样设置cookie
setcookie(name,value,expire,path,domain,secure);
域需要一个字符串形式的域名值,如example.com
,它是可选的。 Secure 需要一个 bool 值并且是可选的。跳过这两个并通过将路径设置为“/”进行检查
关于php - 此代码段无法正确设置 cookie 的任何原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6942977/