何时开始会话


When to start a session?

我有一个系统,要求用户登录(或注册)一个帐户之前,他们能够访问他们的成员'仪表板'。

我的问题是……在什么时候,所以我session_start()?在登录页面和注册页面?还是在用户身份验证成功之后?

谢谢。

您需要在希望访问会话数据的每个页面上包含session_start()。并且需要在完成任何其他输出之前调用它。

正如Helge Helwig所说,

你需要在每页的顶部添加session_start()。但是,为了使这更简单,您可以创建一个PHP文档,其中你像这样存储所有重要的代码,然后调用它;说init.php。

那么你可以在每页的顶部include 'init.php',这将整理一下代码

在需要访问会话数据的页面上启动会话。作为成功登录的一部分,还应该调用session_regenerate_id来防止会话固定。

用户通过身份验证后可以启动会话。之后,您可以在S_SESSION中使用相关信息,并从任何地方访问这些信息。

应该在验证用户信息后启动会话,然后可以将用户的uid设置为会话变量。这可以在加载用户的个人信息,如个人资料,偏好等有用。

在注册页面,我认为你不需要启动会话。

您的session_start()将在每个安全且经过身份验证后访问的页面上调用。当登录和注册页面验证用户时,您将把这些值放在会话中。但是一旦用户被验证,现在你必须把这个功能放在所有需要用户身份验证的页面上。