ホーム > その他 | Web開発関連

setcookieの正しい使い方


後から書く。

イナゾウ社長ブログ: PHPでCookieを削除する場合の問題

PHP: setcookie - Manual

PHP: setcookie - Manual - jp

php-5.2.5/ext/standard/head.c line:101

if (value && value_len == 0) {
        /*
         * MSIE doesn't delete a cookie when you set it to a null value
         * so in order to force cookies to be deleted, even on MSIE, we
         * pick an expiry date 1 year and 1 second in the past
         */

        time_t t = time(NULL) - 31536001;
        dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0 TSRMLS_CC);
        snprintf(cookie, len + 100, "Set-Cookie: %s=deleted; expires=%s", name, dt);
        efree(dt);
    } else {
        snprintf(cookie, len + 100, "Set-Cookie: %s=%s", name, value ? encoded_value : "");
        if (expires> 0) {
            strlcat(cookie, "; expires=", len + 100);
            dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC);
            strlcat(cookie, dt, len + 100);
            efree(dt);
        }
    }

正しいsetcookieの使い方

setcookie("TestCookie", "dummy", 1);

値がnullならexpireにどんな値を設定していてもphpのソースで1年前に上書きされるので、値に"dummy"を設定しexpire=1になるようにするとよいはず。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://www.sylvan-l.net/b/2008/01/08/setcookie%e3%81%ae%e6%ad%a3%e3%81%97%e3%81%84%e4%bd%bf%e3%81%84%e6%96%b9/trackback/
トラックバックの送信元リスト
setcookieの正しい使い方 - sylvan より

ホーム > その他 | Web開発関連 > setcookieの正しい使い方

ぴくちゃー
ブログパーツ

ページの上部に戻る