所以我试图使用会话......我收到了这个错误:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home1/####/public_html/####/index.php:3) in /home1/####/public_html/####/index.php on line 4
的index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
session_start();
echo $_SESSION['logged_in'];
echo $_SESSION['logged_user'];
?>
<head>
任何想法为什么会发生这种情况?
答案 0 :(得分:6)
输出HTML或任何内容后,PHP无法再发送使用会话所需的标头(即设置cookie)。在从脚本生成任何输出之前,您必须调用session_start()
:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
echo $_SESSION['logged_in'];
echo $_SESSION['logged_user'];
?>
<head>
答案 1 :(得分:1)
在您输出内容后无法发送标题(例如session_start
)。