2009-10-28 97 views
0

HI,没有存储数据

说,如果我的电脑上001浏览我的网页,我退出了会议,并移动到计算机002和登录到由于某种原因,我没有看到届PHP会议我的数据看起来像是我做了我的会议。

有没有人知道为什么数据没有保存到用户?

我该如何修复它?

+1

您是否将用户数据的会话混淆?我理解你说的是'会话',但是真正在寻找用户数据的去向,或者我在这里也是如此...... – Jakub 2009-10-28 13:40:47

+0

答案会被接受吗? – jldupont 2009-11-09 20:59:07

回答

2

来自PHP文档:“访问您的网站的访问者被分配了一个唯一的ID,即所谓的会话ID,它可以存储在用户端的Cookie中,也可以在URL中传播。

当您注销时,该cookie已过期。

即使您不注销,销毁cookie,当您移动到第二台计算机时,cookie也不会跟着您。所以PHP无法将新会话与旧会话链接起来。如果您需要链接您所称的“会话”(而不是PHP $ _SESSION),那么您需要将自己的所有数据存储在某个地方。 PHP不会为你做。

如果您有明确的注销功能,您可以在用户注销时将$ _SESSION变量写出到数据库中。如果你需要一个用户能够在没有明确注销的情况下漫游和恢复,那么你可能需要在用户访问的每个页面上保存所有这些信息。

2

数据按会话保存,当您注销时,会销毁会话和所有关联的数据。 你必须自己存储它(数据库,文件,...)。

4

您已注销...不是会话的会话范围,即登录 - >注销?

您需要持久化状态:使用数据库。但不要将持久状态与瞬时会话相混淆;-)

1

除非将会话存储在数据库中,并且每次用户登录时重新填充$ _SESSION,他们都不会在计算机之间跟随您。

0

就是这样,会议不会从不同的知识产权来源继承。它们也会在一段时间后失效。如果您想从登录/注销过程中传输数据,则需要将其存储在数据库中。