2013-03-18 90 views
0

我设置一个cookie如下:PHP删除Cookie问题

if($persist=='persist'){ // if remember me then set long cookie expiration 

     setcookie("aukCookie", "$user", time()+9900000, "/", "myurl.com"); 
     setcookie("aukCookie2", "$username", time()+9900000, "/", "myurl.com"); 
     setcookie("AUKpersist", "$user", 0, "/", "myurl.com"); 

    } else { 

     setcookie("aukCookie", "$user", time()+86400, "/", "myurl.com"); 
     setcookie("aukCookie2", "$username", time()+9900000, "/", "myurl.com"); 

    } 

然后删除我去同一个文件,url变量?logoff=true

然后我尝试以下方法:

if ($_GET[logoff]=='true'){ 
    setcookie ("aukCookie", "", time()-3600, "/", "myurl.com"); 
    setcookie ("AUKpersist", "", time()-3600, "/", "myurl.com"); 
    // use below to send user somewhere when logged out successfully 
    header("Location: /userAdmin/userlogin.html?loggedOut"); 
} 

但是这个cookie根本就没有被删除。 header()函数工作正常。

任何想法?有一个更好的方法吗?

+0

是'header'页面发送数据之前叫这就是你需要使用'cookie'也许'session' – Jacopofar 2013-03-18 12:12:04

+0

,感谢 – mkjasinski 2013-03-18 12:12:17

回答

2

尝试设置为空,而不是空的,如:

if ($_GET[logoff]=='true'){ 
    setcookie ("aukCookie", NULL, time()-3600, "/", "myurl.com"); 
    setcookie ("AUKpersist", NULL, time()-3600, "/", "myurl.com"); 
    // use below to send user somewhere when logged out successfully 
    header("Location: /userAdmin/userlogin.html?loggedOut"); 
} 
+0

试过没有工作的最可能的解释 – 2013-03-18 12:37:35

+0

是吗??确定这是否条件正在工作?我的意思是$ _GET [注销]返回true? – periback2 2013-03-18 13:18:40

+0

@DarrenSweeney ?? – periback2 2013-03-18 13:50:43

1

unset

即尝试,

unset($_COOKIE["aukCookie"]); 

它将工作

0

尝试

setcookie("aukCookie", "", -1, "/", "myurl.com"); 
-1

删除Cookie

布尔的setcookie(字符串$名称[,字符串$价值[摘要$到期= 0,字符串$路径[,字符串$域[,布尔$安全=假[,布尔$仅Http =假]]]]]])

setcookie ("mycookiename", "", time() - 3600);

另一示例

setcookie("mycookiename", $value, time()+3600, "/~rasmus/", "example.com", 1);

测试它

enter code here // Print an individual cookie 

enter code here echo $_COOKIE["mycookiename"]; echo $HTTP_COOKIE_VARS["mycookiename"];

// Another way to debug/test is to view all cookies print_r($_COOKIE); 这是一组Cookie概念

注销的情况下,你需要取消设置饼干像下面的例子

unset($_COOKIE['mycookiename']);

像这样

如果($ _GET [注销] == '真'){

未设置($ _ COOKIE [ 'aukCookie']);

unset($ _ COOKIE ['AUKpersist']);

header(“Location:/userAdmin/userlogin.html?loggedOut“);

}