2012-04-20 31 views
0

は、[OK]を、私はクッキークッキーは、私はそれが

setcookie("search", "active", time()+3600); 

を設定するには、このコードを使用し削除するように設定して、私はクッキー

setcookie("search", "active", time()-3600); 

を削除するためにこれを使用して、私がチェックするためにこれを使用してしても帰ってきますクッキー

<? 
    if (isset($_COOKIE["search"])) 
    { 
     if ($_COOKIE["search"] === "active") 
     { 
      echo "cookies active"."<br/>"; 
      echo $_COOKIE["search"]; 
     } 
     else 
     { 
      echo "cookies is not active"; 
     } 
    } 
    else 
    { 
     echo "no cookies"; 
    } 
?> 

が、セットのクッキーを取得すると、再び帰ってくると、再び私はメソッドを使用して、それを削除した場合でも、私は指定され私はページをリフレッシュするときbove。

+0

クッキーは次の必要なときにのみ実行されます... –

+0

「1」のような別のタイムスタンプを試してください。 – Gumbo

答えて

1

は、このエラーが発生した理由はわからないけど

例前にこれを見てきました:

setcookie ("user", "Alex Porter", time() + 3600); 
setcookie ("search", "active", time() + 3600); 

var_dump($_COOKIE); 

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

出力のみ

array(1) { 
    ["user"]=> 
    string(11) "Alex Porter" 
} 

期待される結果

array(2) { 
    ["user"]=> 
    string(11) "Alex Porter" 
    ["search"]=> 
    string(6) "active" 
} 

結論を呼び出します

は、私はあなたが* setcookieは、ページの最上部に常にあることを確認します

注意してみてください一つだけのクッキーにこだわるか、一度だけ

ですべてのクッキーを削除するだろうと思うと何も出力は、それ以前に

ではありません
setcookie ("search", "active", time() + 3600); 
//setcookie ("search", "", time() - 3600); // uncomment when you want to remove cookie 
if (isset ($_COOKIE ["search"])) { 
    if ($_COOKIE ["search"] === "active") { 
     echo "cookies active" . "<br/>"; 
     echo $_COOKIE ["search"]; 
    } else { 
     echo "cookies is not active"; 
    } 
} else { 
    echo "no cookies"; 
} 
+0

私のポストには「setcookie( "user"、 "Alex Porter"、time()+ 3600)の間違いがあります;私は1つのクッキーに2つのデータをpuiしようとしていません。必要なのは、そのクッキーを削除するだけで、それが戻ってくることはないはずです(これは、 "検索"、 "アクティブ"、時間()+ 3600) –

+0

あなたの投稿を正しく更新できますか... – Baba

+0

更新されています。 –

1

PHPでクッキーを削除しても、スクリプトが実行される前にこの配列に値が設定されるため、$ _COOKIEスーパーグローバルには影響しません。ただし、次のページを読み込むときに$ _COOKIEには存在しません。

関連する問題