用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

请教各位兄弟,session和cookie之前有输出为什么不报错呢?太困惑了

我记得好几个讲session和cookie的课程里都讲过session和cookie之前是不能有输出的,哪怕一个空行都不行,可是我使命的输出了,就是不报错,什么原因啊?难道说php5.3版本里把这个特性改掉了?太困惑了。请兄弟们帮我看看,谢谢!
PHP版本5.3.8
php.ini设置error_reporting = E_ALL
设置cookie和session的代码如下:
复制代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.     <head>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.     <title>SESSION_COOKIE</title>
  6.     </head>
  7.     <body>
  8.         <div>
  9.             <h1>我在这里输出了一行标题!</h1>
  10.             <p>下面开始使用COOKIE</p>
  11.             <?php
  12.             setcookie('cookie','this is a cookie the value is hello world!');
  13.             echo '<i>为什么不会报错呢?</i>';
  14.             ?>
  15.             <h1>下面开始使用session!</h1>
  16.             <?php
  17.             session_start();
  18.             $_SESSION['abc']='this is a session value is aaaaaaaa!';
  19.             echo 'session已经设置完了!';
  20.             ?>
  21.         </div>
  22.     </body>
  23. </html>

输出结果的如下:
引用

<!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">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>SESSION_COOKIE</title>
    </head>
    <body>
        <div>
            <h1>我在这里输出了一行标题!</h1>
            <p>下面将把cookie的值输出来</p>
            <?php
            echo $_COOKIE['cookie'];
            ?>
            <h1>下面将输出session的值</h1>
            <?php
            session_start();
            echo $_SESSION['abc'];
            echo '<p>session的值已经输出来了!</p>';
            ?>
        </div>
    </body>
</html>


昵称: yanghbmail  时间: 2011-10-20 11:22:00
UP!UP!UP!UP!UP!UP!
昵称: yanghbmail  时间: 2011-10-25 17:02:00
都原文输出了,证明没有经过PHP解析。自然也就不会报错
昵称: jerking  时间: 2011-10-25 17:31:00
发表评论
昵称:
内容:
验证: