我有一个系统要求用户登录(或注册)帐户才能访问其会员的“信息中心”。
我的问题是......在什么时候我是session_start()?在登录页面和注册页面上?或者用户成功通过身份验证后?
感谢。
答案 0 :(得分:9)
您需要在希望访问会话数据的每个页面上包含session_start()
。它需要在任何其他输出完成之前调用。
答案 1 :(得分:2)
正如Helge Helwig所说,
您需要在每个页面的顶部添加session_start()
。
但是,为了使这更容易,您可以创建一个PHP文档,其中
你存储这样的所有重要代码,然后调用它;比如init.php。
然后你可以在每个页面的顶部include 'init.php'
稍微清理一下代码。
答案 2 :(得分:1)
在需要访问会话数据的页面上启动会话。作为成功登录的一部分,您还应该致电session_regenerate_id
以防止会话固定。
答案 3 :(得分:0)
一旦用户通过身份验证,您就可以启动会话。 之后,您可以在S_SESSION中使用相关信息,并从任何地方访问此信息。
答案 4 :(得分:0)
您应该在验证用户信息后启动会话,并且可以将用户的uid设置为会话变量。这可能在加载用户的个人信息(如个人资料,偏好等)后非常有用。
在注册页面上我认为你不需要开始会话。
此致
答案 5 :(得分:0)
您的session_start()
将在每个安全页面上被调用,并且在身份验证后访问。您将在登录和注册页面中将值放入会话中,因为它们会对用户进行身份验证。但是一旦验证了用户,现在您必须将此功能放在需要用户身份验证的所有页面上。