我已经看了这里的各种线程,但都没有用,所以这里有一个"不是真的"的重复问题,因为似乎没有人提供有帮助的答案。
我正在开发一个网页,该网页需要存储会话数据并将其传递到其他各种网页。相当基础。。。据推测
在我通过导航导航到另一个页面(存储了会话(后,即使会话仍然存在,会话数据也会消失。
我有
<?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['email'] = $_GET['email'];
,您将用未定义的新值$_GET['email']
覆盖它。