ホームページ  >  記事  >  バックエンド開発  >  PHP Cookieの利用方法と注意点_PHPチュートリアル

PHP Cookieの利用方法と注意点_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:48:22851ブラウズ

Cookie は、クライアントのブラウザに情報を保存するために使用されます。たとえば、ウェブマスター統計コードは Cookie と IP に基づいて実装されます。

PHP Cookie の使用法

コードは次のとおりです コードをコピー

setcookie('mycookie','value');
//関数プロトタイプ: int setcookie(文字列名, 文字列値, int 有効期限, 文字列パス, 文字列ドメイン, int secure)
エコー($mycookie);
echo($HTTP_COOKIE_VARS['mycookie']);
echo($_COOKIE['mycookie']);

Cookieを削除する

(1) name パラメーターのみを指定して setcookie() を呼び出します。
(2) 有効期限を time() または time-1;

にする
コードは次のとおりです コードをコピー

setcookie('mycookie'); または setcookie('mycookie','') または setcookie("mycookie",false); //setcookie('mycookie','',time()-3600);
echo($HTTP_COOKIE_VARS['mycookie']);
print_r($_COOKIE);

推奨される削除方法:

コードは次のとおりですコードをコピー
setcookie('mycookie','',time()-3600);

PHP は非常に便利な関数 mktime() を提供します。

表現したい時、分、秒、月、日付、年を順番に mktime() に渡すだけです
mktime() は、1970 年 1 月 1 日からの合計秒数を返します。

Y2K 問題をシミュレーションする必要がある場合:

コードは次のとおりですコードをコピー$y2k = mktime(0,0,0,1,1,2000);
setcookie('名前','値',$y2k);
setcookie('名前', '値', 時間+3600);
setcookie('名前', '値', $y2k, '~/myhome', '.domain.com');

COOKIEの有効期限の取得方法

コードは次のとおりですコードをコピー

注:

Cookie を送信すると、Cookie の値は自動的に URL エンコードされます。 URL デコードは受信時に行われます。
これが必要ない場合は、代わりに setrawcookie() を使用できます。

PHPの設定、COOKIEの取得、削除

$expire = time() + 86400 // 有効期間を 24 時間に設定します

setcookie ("var_name", "var_value", $expire); // var_name という名前の Cookie を設定し、有効期間を設定します
setcookie ("var_name_expire", $expire, $expire); // 次に、var_name の有効期限を知ることができるように、有効期限を Cookie に設定します

コードは次のとおりです コードをコピー

//--------COOKIE を設定します。有効期限は 1 時間です------//
setcookie('TestCookie','こんにちは、秦美', time()+3600);
//setrawcookie は URL エンコードを実行しません
header('Content-type: text/html');

//送信されたヘッダーを表示する
var_dump(headers_list());#array(2) { [0]=> string(85) "Set-Cookie: TestCookie=hello+word+%C7%D8%C3%D4; 期限切れ=4 月 19 日火曜日2011 10:06:14 GMT" [1]=> string(23) "コンテンツ タイプ: text/html" }
echo '
';
echo $_COOKIE['TestCookie'];#こんにちは、秦美
//古いバージョン(廃止)と互換性があります
if(isset($HTTP_COOKIE_VARS["TestCookie"])){
echo $HTTP_COOKIE_VARS["TestCookie"];
}

エコー '
';
//すべてのCookieを出力します
print_r($_COOKIE);#Array ( [key] => value [TestCookie] => hello word Qin Mi )
?>