结束会话后出错


Error after ending a session

我做了一个只有登录后才能访问的页面。现在我已经完成了一个注销按钮,它很有效,但我在注销后收到了一条错误消息。重定向在两秒钟后工作,会话结束,但我仍然得到以下错误:

警告:session_start()[function.session start]:无法发送会话缓存限制器-标头已在第3行上的/home/u200098000/public_html/logout.php中发送(输出开始于/home/u2000 98000/public_html/logout php:2)

这是我的代码:

<?php
 session_start();
 session_destroy();

echo "<h1>You succesfully logged out</h1>";
echo '<p> If you are not redirected automatically please click <a href="index.html">here</p>';
echo '<script>';
echo 'redirectTime = "2000";';
echo 'redirectURL = "/index.html";';
echo 'setTimeout("window.location = redirectURL",redirectTime);';
echo '</script>';

?>

非常感谢你的帮助。

Headers already sent通常表示在会话启动之前已经发生了某种输出。在调用session_start()之前,请检查是否有任何类型的空白文件,并确保您没有执行任何printecho等命令。即使在包含的文件的开头或结尾留有空白,也可能导致这种情况发生。许多个月前让我头疼的是,在关闭?>PHP标记后,包含的文件底部有一行空行。

要使用基于cookie的会话,在向浏览器输出任何内容之前,必须调用session_start()

确保在这些行之前没有任何输出到浏览器的内容,并从代码中删除任何不必要的空白。该错误意味着您向浏览器输出了一些内容