我有一个系统,要求用户登录(或注册)一个帐户之前,他们能够访问他们的成员'仪表板'。
我的问题是……在什么时候,所以我session_start()?在登录页面和注册页面?还是在用户身份验证成功之后?谢谢。
您需要在希望访问会话数据的每个页面上包含session_start()
。并且需要在完成任何其他输出之前调用它。
正如Helge Helwig所说,
你需要在每页的顶部添加session_start()
。但是,为了使这更简单,您可以创建一个PHP文档,其中你像这样存储所有重要的代码,然后调用它;说init.php。
那么你可以在每页的顶部include 'init.php'
,这将整理一下代码
在需要访问会话数据的页面上启动会话。作为成功登录的一部分,还应该调用session_regenerate_id
来防止会话固定。
用户通过身份验证后可以启动会话。之后,您可以在S_SESSION中使用相关信息,并从任何地方访问这些信息。
应该在验证用户信息后启动会话,然后可以将用户的uid设置为会话变量。这可以在加载用户的个人信息,如个人资料,偏好等有用。
在注册页面,我认为你不需要启动会话。
对
您的session_start()
将在每个安全且经过身份验证后访问的页面上调用。当登录和注册页面验证用户时,您将把这些值放在会话中。但是一旦用户被验证,现在你必须把这个功能放在所有需要用户身份验证的页面上。