php - 此代码段无法正确设置 cookie 的任何原因?

标签 php cookies setcookie

这个 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/

相关文章:

java - 在 Android 应用发送的 HTTP 请求之间维护 cookie

cookies - asp.net core session 不工作,在响应头中设置cookie但未在浏览器中设置

java - Tomcat 7 - HTTPOnly - 错误的 Set-Cookie header - 未找到 token '='

python - Tornado 请求处理程序

php - jQuery 自动完成后从 MySQL 数据库中检索数据

javascript - 如何使用 javascript 动态添加 html 元素并在 php 中保存它们的记录

php - 学说多对多关联 prePersist 数据复制

android - HttpURLConnection (java.net.CookieManager) 和 WebView (android.webkit.CookieManager) 之间 cookie 的两种同步方式

android - 在 CookieSyncManager.createInstance 中使用应用程序或 Activity 上下文

php - 使用 jquery 与 php 类交互的最佳实践?