PHP会话新手,错误

时间:2014-01-28 19:46:57

标签: php html session

所以我试图使用会话......我收到了这个错误:

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>

任何想法为什么会发生这种情况?

2 个答案:

答案 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)。