0

私は次のようにクッキーを設定しています:

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()関数は正常に動作します。

何か案は?これを行うためのより良い方法はありますか?

4

4 に答える 4

2

次のように、空の代わりに null を設定してみてください。

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"); 
}
于 2013-03-18T12:13:18.263 に答える
1

でお試しくださいunset

すなわち、

unset($_COOKIE["aukCookie"]);

それが動作します

于 2013-03-18T12:15:52.640 に答える
0

試す

setcookie("aukCookie", "", -1, "/", "myurl.com");
于 2013-03-18T12:17:23.300 に答える
-1

クッキーを削除するには

bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

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 のコンセプトです

logOffの場合、以下の例のように Cookieを設定解除する必要があります

unset($_COOKIE['mycookiename']);

このようなもの

if ($_GET[logoff]=='true'){

unset($_COOKIE['aukCookie']);

unset($_COOKIE['AUKpersist']);

header("場所: /userAdmin/userlogin.html?loggedOut");

}

于 2013-03-18T12:30:01.290 に答える