【问题标题】:PHP - can't get variable from sessionPHP - 无法从会话中获取变量
【发布时间】:2018-10-31 05:02:42
【问题描述】:

我是 PHP 和 Web 开发的新手。我对 PHP 会话有疑问。在我的网站(Wordpress)上有一个登录表单,它将用户名存储在会话中。登录成功后,用户名保存在会话中,以及包含一些附加数据的数组。问题是,当用户被重定向到下一页(登录后)时,会话是空的。我这样开始会话:

 $lifetime = 7200;
 session_start();
 setcookie(session_name(), session_id(), time() + $lifetime);

有趣的是会话cookie文件被创建和存储,但网站无法访问它们(据我所知)。 DevTools -> Application -> Cookies 显示登录页面的一个文件:

  1. tj1c9o73f9cfc9iriomlo6ho24

两个用于下一页:

  1. tj1c9o73f9cfc9iriomlo6ho24
  2. 07jfifapiqe7gemes3hf4ov8c6

我查看了“temp”文件夹,发现还有第三个文件:

  • (sess_)vohv6511n76us10nb57lph8t23

它有我需要的所有数据。 我真的不明白发生了什么。请帮帮我。

【问题讨论】:

  • 您是否在同一个域上运行脚本?
  • @DiegoVieira 是的

标签: php wordpress session session-variables session-cookies


【解决方案1】:

您不需要显式设置 cookie。除非您配置其他内容,否则会话处理程序会为您执行此操作。

您是否在登录页面下一页都调用 session_start()?

【讨论】:

  • 不,当我这样做时,我会收到一条消息,表明会话已经初始化。我的网站是基于 wordpress 的,我在 functions.php 中开始会话。
  • 我使用setcookie 使会话持续更长时间。
猜你喜欢
  • 1970-01-01
  • 2018-01-07
  • 2014-04-03
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多