结束会话后出错

时间:2013-12-16 18:04:44

标签: php session

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

  

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

这是我的代码:

<?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>';


?>

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

要使用基于cookie的会话,必须先调用session_start(),然后才能向浏览器输出任何内容。

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