什么时候开始会话?

时间:2011-10-25 09:40:32

标签: php session

我有一个系统要求用户登录(或注册)帐户才能访问其会员的“信息中心”。

我的问题是......在什么时候我是session_start()?在登录页面和注册页面上?或者用户成功通过身份验证后?

感谢。

6 个答案:

答案 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()将在每个安全页面上被调用,并且在身份验证后访问。您将在登录和注册页面中将值放入会话中,因为它们会对用户进行身份验证。但是一旦验证了用户,现在您必须将此功能放在需要用户身份验证的所有页面上。