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;
}
?>
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;
}
?>
-----------------------------------
<?
$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>";
?>
-----------------------------------经测试,无你所上述问题!