A.php
$a=$_cookie['user']; //假设此时已有正确的user和password
$b=$_cookie['password'];
$sql="select * from user where id='$a' and password='$b'";
$query=mysql_query($sql);
if($row=mysql_fetch_array($query))
echo "a"; //假设第一次可以输出a
else
echo "b";
B.php
setcookie("user","");
setcookie("password","");
echo echo "<script language=\"javascript\">location.href='A.php';</script>";
我先访问了A.php成功登陆,又访问了B.php,可是我并没有输出b,而且我在A页面刷新也没有输出b。
我该怎么实现类似退出呢。别让我用session,我已经编的太多了,没法改了。
我用另一个页面在访问A之前已经给cookie("user")和cookie("password")赋值,我在这里没有写出来。
代码是我现写的,小的错误就忽略了。主要是怎么实现退出。
假如你说的另一个页面叫做c.php,
你在c.php里设置cookie的时候也是这样的吗:
setcookie("user","everalan");
setcookie("password","1111111");
如果不是,比如setcookie("user", "everalan", '/', 'www.baidu.com');即你设置了cookie的path和域。这样的 cookie和不设置path和域的cookie是完全不一样的两个cookie,
setcookie("user","everalan");
setcookie("password","1111111");
并不能将其删除,带path和域的cookie仍然存在。你访问A.php的时候当然还是输出 a了
逻辑上就有问题
用户名和密码都是从COOKIE里读取的,可是B已经清空COOKIE了。
你不得不重新设计一下了
你在c.php里设置cookie的时候也是这样的吗:
setcookie("user","everalan");
setcookie("password","1111111");
如果不是,比如setcookie("user", "everalan", '/', 'www.baidu.com');即你设置了cookie的path和域。这样的 cookie和不设置path和域的cookie是完全不一样的两个cookie,
setcookie("user","everalan");
setcookie("password","1111111");
并不能将其删除,带path和域的cookie仍然存在。你访问A.php的时候当然还是输出 a了
逻辑上就有问题
用户名和密码都是从COOKIE里读取的,可是B已经清空COOKIE了。
你不得不重新设计一下了
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-04-14
我知道你的意思,是想通过页面B来清空你之前设置的COOKIE。
这里要提醒你:在删除COOKIE时,应该总是使用与设置COOKIE时使用相同的参数。如果在创建COOKIE时设置了域和路径,就在删除COOKIE时也设置同样的参数。
这样来删除COOKIE:setcookie('user','',time()-300);时间后面的参数要与你设置COOKIE时一致;
这里要提醒你:在删除COOKIE时,应该总是使用与设置COOKIE时使用相同的参数。如果在创建COOKIE时设置了域和路径,就在删除COOKIE时也设置同样的参数。
这样来删除COOKIE:setcookie('user','',time()-300);时间后面的参数要与你设置COOKIE时一致;
第2个回答 2009-04-14
你的程序不对,第一次访问A的时候,没有COOKIE,A应该输出B才对,这个时候输出了A,说明数据库有用户名和密码为空的记录,以后你的A.PHP永远都会返回A了。
另外,把知道你是临时发帖打的,还是粘贴的程序代码,COOKIE小写是不行的,应该是$_COOKIE,否则永远结果都为空。
另外,把知道你是临时发帖打的,还是粘贴的程序代码,COOKIE小写是不行的,应该是$_COOKIE,否则永远结果都为空。
第3个回答 2015-09-18
用 exit(); 函数即可。
第4个回答 2015-09-30
用exit;return 0;die('');这些都行呀,你是想做什么呢?