会话问题

时间:2010-07-10 14:50:00

标签: php mysql session

我无法理解我需要如何做到这一点:

  • 我的主页上有项目列表,当用户点击它时,我会将它们带到我要求输入姓名和电子邮件ID的页面(两者都是可选字段),当用户点击提交时,我会将它们带到其他他们可以看到所有细节的页面。该名称和电子邮件字段的原因是存储mysql中的IP地址以及它们所在的URL(具有项目ID和日期)。

要做到这一点,我在程序中遇到了麻烦。

  1. 我想在提交后启动会话/商店cookie。之后我想在mysql db中存储ip地址,项目ID,日期和名称/电子邮件(如果已填写)
  2. 将所有内容存储在mysql db
  3. 另外,我怎样才能避免任何人直接访问该页面(我提交后显示的那个)?有什么方法可以在该页面上包含一些条件并将它们重定向到此登录页面吗?

    请帮帮我。

    问候

2 个答案:

答案 0 :(得分:2)

由于您在用户点击提交按钮时设置会话变量,您可以测试是否设置了其中一个变量并相应地重定向。

您也可以使用POST,将页面用作表单的操作,每当有人访问该页面时,您都会测试是否设置了$ _POST变量(来自表单)。

答案 1 :(得分:1)

由于数据似乎只是为了立即使用而需要,我认为在这种情况下会话是正确的答案。
如果您随后使用数据库查询,您将存储哪些数据以将数据与正确的用户相关联?如你所说,你问的数据都是可选的;即使在没有可选的情况下,你如何处理两个不同用户报告相同名称和电子邮件的情况(它也可能是使用两个不同浏览器的同一用户)。

对于这样的临时数据,会话总是更好的选择(除了少数例外,可能)。

我忘记了另一个问题 同样在那种情况下,我会使用会话变量。会话变量是您希望在不同表单之间保留的值的解决方案,而无需在服务器和客户端之间继续移动它们。

有关会话的详细信息,请参阅PHP: Sessions