【PHP】「$_COOKIE」 — HTTP クッキー
【PHP】
「$_COOKIE」 — HTTP クッキー
「$_COOKIE」とは
現在のスクリプトに HTTP クッキーから渡された変数の連想配列。
クッキーは、サーバーからブラウザに送信され、ユーザのパソコンに記録させることができる情報。
ユーザーごとに固有の情報を保つため、ユーザーの識別・設定を保存しておくことにも使われる。
クッキーには、それぞれ有効期限を設定する事ができ、有効期限を過ぎたクッキーは自動的に消滅する。
クッキーを送信しているため、クッキー送信スクリプト部分は、<DOCTYPE~~>や<html>などの記述の前に記述しなければ利用できない。
$HTTP_COOKIE_VARSは、同じ情報を持っている。
$HTTP_COOKIE_VARSは、スーパーグローバルではない。
$HTTP_COOKIE_VARSと$_COOKIE は違う変数として、PHP は別のものとして扱う。
「$_COOKIE」の操作方法
クッキーの送信と削除
「setcookie()」関数
クッキーの参照
$_COOKIE['クッキー名']
「register_globals」値によって$_COOKIE['クッキー名']ではなく"$クッキー名"としても扱える場合もある。
「setcookie()」関数の書式
bool setcookie( string name [, string value [, int expire [, string path [, string domain [, bool secure ]]]]] )
第1引数 | クッキーの名前 |
第2引数 | クッキーの値を |
第3引数 | 有効期限(タイムスタンプ)を指定 |
第4引数 | 有効にするディレクトリの指定 |
第5引数 | 有効にするドメインの指定 |
第6引数 | HTTPSでのみ有効にする指定 |
使用例
setcookie()の基本的な使用方法 |
setcookie('クッキー名', 'クッキー値');
|
有効期限なしのクッキー |
setcookie('name', 'そふぃ');
|
有効期限付きのクッキー |
$expire = time() + 60 * 30 // 30分有効
setcookie('クッキー名', 'クッキー値', $expire);
|
指定クッキーの表示 |
print $_COOKIE['name'];
|
クッキー削除サンプル:クッキー名のみ指定 |
setcookie('クッキー名');
|
クッキー削除サンプル:有効期限を過去に指定 |
setcookie('クッキー名', '', time() - 60); // 1分前
|
ドメイン配下全てで有効 |
setcookie("name", "value", 0, "./");
|
指定ディレクトリ内で有効 |
setcookie("name", "value", 0, "/ディレクトリ名");
|
全てのサブドメインで有効 |
setcookie("name", "value", 0, "", ".sample.com");
|
特定のサブドメインで有効 |
setcookie("name", "value", 0, "", "www.sample.com");
|
HTTPS通信の場合のみ有効 |
setcookie("name", "value", 0, "", "", 1);
|