以下错误是怎么回事哦?Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at d:\PHP\esseever\manage\Manage.php:1) in d:\PHP\esseever\manage\Manage.php on line 2Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at d:\PHP\esseever\manage\Manage.php:1) in d:\PHP\esseever\manage\Manage.php on line 2
--------------------------------- 
以下为代码:<?php session_start();
if($_SESSION['adminname']=='')
{
echo "<script>alert('Please Login First');location.href='login.php';</script>";
}
?>这样都不行啊???还要怎么最前??

解决方案 »

  1.   

    这里有空格<?php
    ?>
      

  2.   

    学过c的都知道变量前面需要声明的,php可以不声明但是会提示。$_SESSION['adminname']==''
    如果$_SESSION是空的那么不存在索引adminname
    所以直接用会提示错误,而提示的错误会在session_start()之前发出,所以会有上面的错误
    要判断一个值是不是空,楼主的写法显然不妥
    正确 应该用 isset()或者empty()来判断,否则会有错误提示
      

  3.   

    当然isset() empty()用的时候要注意,有几种特殊情况,0,'0',"0" empty返回真
      

  4.   

    user中的一个字段level
    存有数据:0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/$level=0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/
    $level_array=explode("/",$file);具体请查看
    http://cn2.php.net/manual/zh/function.explode.php
      

  5.   

    <?php session_start();
    if($_SESSION['adminname']=='')
    {
    echo "<script>alert('Please Login First');location.href='login.php';</script>";
    }
    ?>
      

  6.   

    晕了,本来就没问题,我换成gb2312就好了,原来是utf-8
      

  7.   

    syntax error, unexpected T_ECHO in d:\PHP\esseever\manage\checklogin.php on line 17
    这个错误呢??怎么回事