cookie是存在客户端的,必须刷新一次才能显示,要解决这个问题,可以用HTTP-EQUIV=REFRESH标签。另外,你在删除cookie的语句中少了“/”参数,可能会出现无法删除的情况。
logging.php这样修改就没有问题了。<?
$user="demo";
if ($action=="login") {
    setcookie("adminuser", "$user",time()+3600,"/");
echo "<html><head><meta HTTP-EQUIV=REFRESH CONTENT='0;URL=logging2.php'>";
echo "</head><body></body></html>";
exit;

if ($action=="out") {
setcookie("adminuser",'',time()-1,"/");
$adminuser="";
echo "<html><head><meta HTTP-EQUIV=REFRESH CONTENT='0;URL=logging_2.php'>";
echo "</head><body></body></html>";
exit;
}
?>

解决方案 »

  1.   

    logging.php
    -----------------------------------
    <?
    $user="demo";
    $action=isset($_GET['action'])&&!empty($_GET['action'])?$_GET['action']:"login";
    if ($action=="login") {
        setcookie("adminuser",$user,time()+3600,"/");

    if ($action=="out") {
    setcookie("adminuser",'');
    }
    ?>
    <A HREF="logging2.php">logging2.php</A>
    -----------------------------------
    logging2.php
    -----------------------------------
    <?
     echo $HTTP_COOKIE_VARS["adminuser"];
     echo "<br>";
     echo "<a href=logging.php?action=out>退出登陆</a>";
    ?>
    -----------------------------------经测试,无你所上述问题!