我有一个启动会话的php文件,后面是一些html。后来我使用include "some_file.php"
包含了另一个文件。 some_file.php
有php和mysql交互,用于填充表。现在我也在some_file.php中启动一个会话,因为我需要访问会话变量。但是我认为通过使用include我将不必再次开始会话。但是在执行此操作时,我在some_file.php
中收到错误说明未定义的会话变量,并且通过使用它,我收到通知说
Notice: A session had already been started - ignoring session_start() in some_file.php/some_line
答案 0 :(得分:7)
如果您无法确保会话始终开始,则必须检查其是否已启动:
if(!isset($_SESSION)){
session_start();
}
答案 1 :(得分:1)
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
答案 2 :(得分:0)
您只需启动session_start()
一次。
答案 3 :(得分:0)
确保在连接到数据库(如果有的话)之后以及在向浏览器输出任何内容之前,session_start()
一次。确保session_start()
前面没有空白区域,以尽量减少意外输出。