PHP での Cookie の設定と削除は、PHP setcookie を使用して実現できます。設定されている場合は値が設定されます。削除された場合は、設定されます。 Cookie の値が空または null の場合、または期限が切れた場合は、削除できます。以下に例をいくつか見てみましょう。
長い間、php で Cookie を削除するときは、常に
を使用していました
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string
$domain [, bool $secure = false [, bool $httponly = false ]]]]])
$value を好きなように記述し、$expire を経過した時刻に設定します。
これは公式ドキュメントにも書かれています:
http://www.php.net/manual/en/function.setcookie.php
例 #2 setcookie() 削除の例
Cookie を削除するときは、有効期限が過ぎていることを確認してトリガー
ブラウザの削除メカニズムは、前に送信された Cookie を削除する方法に続きます。
例:
コードをコピー | |
…
コードをコピー | |
$name = "post_url";
$value = "";
|
复制幣 | |
173 PHP_FUNCTION(setcookie)
174{
183 戻る;
187 RETVAL_TRUE; int httponly TSRMLS_DC)
77
85 zend_error( E_WARNING, "Cookie 名には次のいずれかを含めることはできません '=,;
86 失敗を返します;
90 zend_error( E_WARNING, "Cookie 値には次のいずれかを含めることはできません ',; trn 13 14'" ); TSRMLS_CC); ""); 期限切れ、0 TSRMLS_CC); |
C 言語におけるパラメータの値の型は char * であり、その長さを示す value_len もあります。
value_len が 0 の場合、次の cookie が書き込まれます:
「削除済み」、期間は Thu, 01-Jan-1970 08:00:01 CST または、Thu, 01-Jan-1970 00:00:01
見て来setcookie($name, “”) 确实可删削除可能Cookie了…
同様に、php中、strval(NULL) === "" , 所以 setcookie($name, NULL) 也就は setcookie($name,
) に相当します
さらに、比較的興味深いものは:
复制幣 | |
} 他に{ } |
コードは次のとおりです | コードをコピー |
if (値 && 値の長さ == 0) { } 他に{ } |
else には値が null の場合も含まれます。これはどのような状況ですか?