运行我的脚本时,我收到几个这样的错误:
警告:不能更改头信息-头已经发出(输出开始/some/file.php:12)在/some/file.php上线23
错误消息中提到的行包含header()和setcookie()调用.
这可能是什么原因?以及如何解决它?
我有一个PHP文件,有时从已启动会话的页面调用,有时从没有启动会话的页面调用.因此,当我有session_start()这个脚本时,我有时会收到"会话已经开始"的错误消息.为此,我把这些行:
if(!isset($_COOKIE["PHPSESSID"]))
{
session_start();
}
Run Code Online (Sandbox Code Playgroud)
但这次我收到了这条警告信息:
注意:未定义的变量:_SESSION
有没有更好的方法来检查会话是否已经开始?
如果我使用@session_start它会使事情正常工作,只是关闭警告?
会话的问题变得非常烦人.每次我尝试在特定页面上启动会话时,都会收到以下错误:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23
Run Code Online (Sandbox Code Playgroud)
使用此代码:
<?php
session_start();
if(isset($_SESSION['user']))
{
$user = $_SESSION['user'];
echo "$user";
}
else
{
}
?>
Run Code Online (Sandbox Code Playgroud)
这表明我已经使用过session_start();吗?我环顾四周,但对我来说没有什么能真正解决这个问题.
谢谢