gpt4 book ai didi

php - 重定向后丢失 session 变量

转载 作者:可可西里 更新时间:2023-10-31 23:56:37 29 4
gpt4 key购买 nike

  1. 用户填写用户名和密码。
  2. 如果正确,页面会加载一些信息,例如 user_id 到 session 变量。
  3. 脚本生成一个 header('Location') 重定向。
  4. 不知何故,下一页无法识别该 session ...这是怎么回事?

重定向到同一个域,所有页面都有session_start();

而且我发现它在 IE 中比在 FF 中更有可能发生......奇怪。

最佳答案

是否可能未启用 cookie?

为了能够将 session 变量与特定的客户端实例相关联(即 session 变量如何在您的浏览器和我的浏览器上同时使用而不会发生冲突),“ session ID”(或“SID”)是每个 session 生成的。此 ID 存储在服务器以及客户端上,通常以 cookie 的形式。但是,如果未启用 cookie, session ID 将作为每个请求中 URL 查询字符串的一部分传递,以便服务器可以知道哪个 session ID 属于客户端。

当您通过 header() 调用重定向时,PHP 不会自动将 SID 插入到新请求中,因此您需要自己附加它,格式如下:

header("Location: my_url.com/my_page.php?" . SID)

哪里SID是由 PHP 定义的常量,它包含查询字符串的必要部分(相当于 session_name() . '=' . session_id(),如果存在 session ID)。

参见 Passing the Session ID了解更多详情。

关于php - 重定向后丢失 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1861415/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com