我无法使用session_start()
启动会话...我收到此错误:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /**************/index.php:5) in /**************/session.php on line 2
这是我的session.php文件内容:
<?php
session_start();
if( (( !isset($_SESSION['user']) ) ) || ( !isset($_SESSION['valid']) ) || ( $_SESSION['valid'] != -1 && $_SESSION['valid'] != 0 && $_SESSION['valid'] != 1 ) )
$_SESSION['valid'] = 0;
function destroy_session()
{
session_destroy();
}
?>
我需要紧急解决这个问题!!
答案 0 :(得分:2)
错误消息告诉您输出的起始位置
output started at /**************/index.php:5
在输出发生之前调用session_start()
(最好)或使用输出缓冲(不太可取)
编辑:如果您不知道此错误背后的原因,请阅读PHP header()
manual page
请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。使用include()或require(),函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用header()之前输出空格或空行。使用单个PHP / HTML文件时存在同样的问题。
答案 1 :(得分:1)
听起来您需要在代码中包含该文件。主要是在输出任何HTML或内容之前。