【问题标题】:How can I get my session data to store correctly?如何让我的会话数据正确存储?
【发布时间】:2019-04-30 02:09:59
【问题描述】:

我已经在这里查看了各种主题,但无济于事,所以这是一个“不是真的”重复的问题,因为似乎没有人提供有帮助的答案。

我正在开发一个需要存储会话数据并将其传递到其他各种网页的网页。相当基本的......据说。

当我通过导航导航到另一个页面(存储了会话)后,会话数据就会消失,即使会话仍然存在。

我有

<?php session_start(); ?>

就在我所有页面的顶部。将其从我的清单中剔除。

在我得到的标题中:<?php echo 'EMAIL: ' . $_SESSION['email']; ?> 这只是为了让我可以看到会话的物理结果......尤其是当它停止工作时。

在这个特定的案例中,我开始了登录的基本结构。我如何在代码中进行设置的一个示例是:

<input type="email" id="email" name="email" placeholder="email@university.edu"> <label for="email"> Email</label> <br> <?php $_SESSION['email'] = $_GET['email']; ?>

当我提交表单时,我的所有信息都很好地填充了数组,但再次(如前所述),如果我使用我的用户导航导航(甚至到同一页面),会话数据将被清除。

一些其他有用的调试信息对于那些愿意尝试这个的人来说: PHP.ini 设置为保留 cookie 直到浏览器会话关闭,并且 cookie 是我浏览器上的一个豁免项本地站点。我不知道为什么它只是转储会话数据......就像它完全开始一个新会话一样。

**我知道这是最基本的,因为没有任何散列发生...只是基础开始,直到我开始工作。

提前谢谢你。当他们提出关于我的 0200 - 编写代码的问题时,我会尽我所能在这个线程的顶部回答问题......

【问题讨论】:

  • 试试$_SESSION,你好像忘了&lt;?php $SESSION['email'] 中的下划线_
  • 我没有看到任何表格
  • 所以你把$SESSION改成$_SESSION还是不行?查看开发人员工具中的“网络选项卡”,并在移动到另一个页面后首先验证您是否获得了相同的会话 ID。验证正确设置了适当的 cookie,使用“应用程序选项卡”进行验证。之后,检查您的错误日志并查找任何错误(例如:无法创建会话文件:文件系统权限被拒绝)。还要检查 php.ini 中的会话设置。

标签: php forms session http-redirect


【解决方案1】:

如果我使用我的用户导航导航(甚至到同一页面),会话数据将被清除。

由于您的页面包含$SESSION['email'] = $_GET['email'];,您将使用未定义的新值$_GET['email'] 覆盖它。

【讨论】:

    猜你喜欢
    • 2016-05-18
    • 2021-08-30
    • 2013-03-07
    • 2015-04-26
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多