我啥时候必须声明 session_start();?

Posted

技术标签:

【中文标题】我啥时候必须声明 session_start();?【英文标题】:When do I have to declare session_start();?我什么时候必须声明 session_start();? 【发布时间】:2012-04-26 20:08:37 【问题描述】:

所以我是 php 的初学者,所以我需要一点帮助。我想弄清楚什么时候开始会议。我应该在用户第一次注册时执行还是在他们登录时执行?

此外,会话“通用”是否意味着当我检查会话时它会起作用,还是我必须在所有页面中包含一个文件以检查某人是否有会话?

【问题讨论】:

【参考方案1】:

“我应该在用户第一次注册的时候做还是在他们登录的时候呢?”

您应该每次都这样做,以获取或设置任何会话信息。存储在$_SESSION 数组中的数据只有在会话启动后才可用。

“此外,会话是“通用的”,意思是当我检查会话时它会起作用还是我必须在所有页面中包含一个文件来检查某人是否有会话?”

调用session_start() 即可创建会话。如果已创建会话,则将使用该会话。

【讨论】:

显示检查会话是否已启动的代码,并且仅在尚未启动时才启动将是一个好习惯。 if (!isset($_SESSION)) session_start; session_start() 也需要在任何 html 输出之前【参考方案2】:

在您访问 $_SESSION 变量的每个文件中只对 session_start() 执行一次。最好是在中心位置进行。例如,每个应用程序文件中都包含一个文件。

【讨论】:

以上是关于我啥时候必须声明 session_start();?的主要内容,如果未能解决你的问题,请参考以下文章

我啥时候必须重新锁定相机?

我啥时候必须关闭数据库连接? (爪哇)

我啥时候必须在 iOS 自动布局中使用优先级?

jdbc:我啥时候可以关闭啥

我啥时候必须在 VB6 中将变量设置为“无”?

我啥时候想让我的私人课程成为静态的?