
PHP5にて以下のようにクッキーを連想配列でセットしています。
setcookie("cookie[1]", "10", time()+600);
setcookie("cookie[2]", "20", time()+600);
setcookie("cookie[10]", "100", time()+600);
この場合、一部のクッキー(例えばcookie[2]で設定したもの)
だけを削除するにはどうすれば宜しいのでしょうか?
試しに以下の様に記述してみましたが、上手く削除されませんでした。
setcookie("cookie[2]");
また、全てのクッキー(全ての連想配列)を
いっぺんに削除する方法もありましたら、お教えください。
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
setcookie('cookie[2]', '', time()-42000);
有効期限を現在時刻より以前にしてしまえば、削除されます。
ご回答ありがとうございました。
しかし、やはり削除されませんでした・・・
サーバーの関係とかあるのでしょうか?
テスト用として以下の3スクリプトで試しております。
/* setck.php */
<?php
setcookie("cookie[2]", "20");
setcookie("cookie[3]", "30");
setcookie("cookie[10]", "100");
echo "クッキーをセット<br>\n";
?>
/* getck.php */
<?php
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "Cookie番号[$name] : $value <br />\n";
}
}
?>
/* delck.php */
<?php
setcookie( "cookie[3]", "", time() - 42000 );
echo "cookie番号[3]を削除<br>\n";
?>
実行結果
setck.phpを実行
クッキーをセット
getck.phpを実行
Cookie番号[2] : 20
Cookie番号[10] : 100
Cookie番号[3] : 30
delck.phpを実行
クッキー番号[3]を削除
getck.phpを実行 (ここでCookie番号[3]が消えていて欲しかった)
Cookie番号[2] : 20
Cookie番号[10] : 100
Cookie番号[3] : 30
以上です。宜しくお願いします。
No.4
- 回答日時:
こんにちは。
私の環境で試したところ削除されていました。
各URLへ遷移後にctrlキー+F5等で更新してみましたか。
キャッシュの関係かもしれません。
各URLで一度更新を実行した場合は正しく動いていましたがただアクセスしただけだと画面上セットされていなかったり削除されていなかったりしました。
No.1
- 回答日時:
見当違いなことを言ってしまっていたら、ごめんなさい。
cookie[2] というのは、$cookie[2] ということでしょうか?
もしくは、$_COOKIE[2] でしょうか。
cookie[2]
こういうものを私は見たことがないので、
もし、これで正しい場合には、これが何かを逆に教えて下さい…。
すみません^^;
この回答への補足
cookie[2]で正しいと思います。
クッキーを配列でセットしているものだと思います。
下記URLを参考にしました。
http://d.hatena.ne.jp/ten-you/20090504/1241437098
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
COleDateTime とtime_t
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
Line Inputにて改行があっても...
-
半角、全角の判別方法
-
全角半角を調べるライブラリ関...
-
stable diffusionのエラー
-
この関数はどのプログラミング...
-
【Excel VBA】10進数を2進数に...
-
utf-8でメールを送信すると件名...
-
int型(2バイト)データの分割
-
ビットからバイトへの変換
-
CSVファイルの行と列のセルって...
-
Excel 1セル当りの文字数が2...
-
「1TB」のHDDに日本語は何字入...
-
パイプを用いたプロセス間通信...
-
C言語の勉強しています。すみま...
-
.netで、ibm漢字で書かれたテキ...
-
バイト列とバイナリ列の違いが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPのCookieが有るか無いかで、...
-
cookieにカンマ区切りでつめこ...
-
なんでブラウザでPHPを動かすた...
-
クッキーを連想配列で扱う方法...
-
異なるドメインのサイトでcooki...
-
ブラウザ間でCookieを共有する...
-
COleDateTime とtime_t
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
10Mバイトて文字数に すると何...
-
char str[256]の256の意味は?
-
stable diffusionのエラー
-
Excel 1セル当りの文字数が2...
-
「1TB」のHDDに日本語は何字入...
-
DataGridViewの特定列に入力さ...
-
ピクセル,dpiから容量(バイト...
-
Excel VBA メール作成について ...
-
バイト列とバイナリ列の違いが...
-
エクセルシート名の制限を変更...
-
ListView重複データ削除
おすすめ情報