也许是setcookie()之前有输出吧!

解决方案 »

  1.   

    尝试一下标准的写法:
    if(isset($HTTP_COOKIES_VARS["_cookie_password"]))
    {
              echo header("location: $PHP_SELF");
    }
    else
    {
              echo 'login failed';
    }
      

  2.   

    “也许是setcookie()之前有输出吧!”
    没有输出,整个程序就是我写的那样“尝试一下标准的写法:
    ……

    用了之后连login都不行
      

  3.   

    这是改进后的程序,请参考<?PHP
    $adminpwd=123;
    switch($action)
    {
        case null:
        if ($HTTP_COOKIE_VARS["_cookie_password"]==$adminpwd)
        {
            echo 'Login OK!<br>';
        }
        else
        {
            echo 'Login fail!<br>';
        }
        echo '<A href="cookie_test.php?action=login">Login</a><br>';
        echo '<A href="cookie_test.php?action=logout">Logout</a>';
        break;
        
        case login:
    setcookie('_cookie_password',$adminpwd,time()+60,'/','',0);
    echo "<a href=$PHP_SELF>go</a>";
    break;
        
        case logout:
        setcookie('_cookie_password','','','/','',0);
    echo "<a href=$PHP_SELF>go</a>";
        break;
    }
    ?>