Php 会议问题

Php 会议问题,php,mysql,session,Php,Mysql,Session,我很难理解我需要如何做到这一点: 在我的主页上有一个项目列表,当用户点击该列表时,我会将他们带到一个页面,在那里我会询问姓名和电子邮件id(这两个都是可选字段),当用户点击提交时,我会将他们带到另一个页面,在那里他们可以看到所有详细信息。该名称和电子邮件字段用于在mysql中存储ip地址以及它们所在的url(具有项目id和日期) 要做到这一点,我在程序中遇到了麻烦 我想在他们点击提交后启动会话/存储cookie。之后,我想在mysql数据库中存储ip地址、项目id、日期和名称/电子邮件(如果

我很难理解我需要如何做到这一点:


  • 在我的主页上有一个项目列表,当用户点击该列表时,我会将他们带到一个页面,在那里我会询问姓名和电子邮件id(这两个都是可选字段),当用户点击提交时,我会将他们带到另一个页面,在那里他们可以看到所有详细信息。该名称和电子邮件字段用于在mysql中存储ip地址以及它们所在的url(具有项目id和日期)
要做到这一点,我在程序中遇到了麻烦

  • 我想在他们点击提交后启动会话/存储cookie。之后,我想在mysql数据库中存储ip地址、项目id、日期和名称/电子邮件(如果已填写)
  • 将所有内容存储在mysql数据库中
  • 另外,我如何避免任何人直接进入页面(他们提交后我显示的页面)?是否有任何方法可以在该页面中包含一些条件并将它们重定向到该登录页面

    请帮帮我


    关于

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


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

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

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

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


    有关会话的更多信息,请参见

    “该名称和电子邮件字段用于在mysql中存储ip地址以及它们所在的url(具有项目id和日期)。”您不需要为此询问名称和电子邮件。我同意您的看法,我想我需要这样做,因为当用户单击主页中的项目列表时,登录表单字段仅在项目是当前的情况下显示,如果项目是将来的,则不会显示。所以为了使这个条件正确,我想对于我将显示此日志的项目,我会说,项目现在正在显示,提交观看它。当他们这样做的时候,我会收集ip,项目的详细信息,只为今天的活动。通过这种方式,我可以避免为今天没有的项目进行会话/存储内容。我不确定如何启动会话以及如何验证会话是否有效。我应该在显示登录页面的页面上启动会话,还是在他们点击提交按钮后在页面上启动会话?@Jay:只需使用
    session\u start()
    。如果要验证会话是否已启动(以避免再次启动),请检查
    session_id()
    返回的值;如果会话尚未启动,则返回的值将是空字符串。我仍在处理此问题。我完成后将发布我的反馈。再次感谢!