我的状况:
第一次登陆设置cookie有效,然后我设置有效时间为0(即:实效), 有效
但是当我再次登陆时,无效,但是如果打开一个新页面从新登陆有效,即在当前页面设置有效时间为0时,这个信息(应该是值)被保留到了当前页面,所以才无法在当前也重新设置cookie有效(登陆),这是网上的解释;
要删除一个已经存在的Cookie,有两个办法:
一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉;另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。
要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。
我的情况应该和这段解释相同,请问有什么办法能在当前页实现cookie的完全删除,而不是单纯的实效?谢谢了
第一次登陆设置cookie有效,然后我设置有效时间为0(即:实效), 有效
但是当我再次登陆时,无效,但是如果打开一个新页面从新登陆有效,即在当前页面设置有效时间为0时,这个信息(应该是值)被保留到了当前页面,所以才无法在当前也重新设置cookie有效(登陆),这是网上的解释;
要删除一个已经存在的Cookie,有两个办法:
一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉;另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。
要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。
我的情况应该和这段解释相同,请问有什么办法能在当前页实现cookie的完全删除,而不是单纯的实效?谢谢了
cookie本身的操作是在客户端,服务器控制不了。lz的情况最好使用session
function del_cookie($name)
{
setcookie($name);
unset($_COOKIE[$name]);
}
$set1=del_cookie("mlemail");
$set2=del_cookie("mlusername");
$set3=del_cookie("mluserid");
$set4=del_cookie("mlgroupid");
$set5=del_cookie("mlrnd");
}
function del_cookie($name)
{
setcookie($name);
setcookie($name,"");
unset($_COOKIE[$name]);
}
可是我即便是这样用EmptyEcmsCookie,还是无法清除这5个cookie
,而退出是直接操作PHP, 就是不明白为什么第一次的登陆和退出没有问题,但是以后再登陆就不行了,是ajax异步操作的问题吗
多数用ajax的人喜欢把ajax单独一个目录来访问。例:
网页地址在http://xxx.com/x1/index.php
ajax程序放在http://xxx.com/x2/ajax.php
如果你没有将cookie的pach指定为/的话,那这两个目录之间的cookie就不能通用,各用各的。解决办法是把ajax放到页面目录或子目录里。指定cookie的pach为根目录/亦可。
已经指定了path为“/”,domian为“”,这样还是不行,不知为什么