第 35章クッキー(Cookies)

PHP は、HTTP クッキー(Cookie)を完全にサポートします。 クッキーは、リモートブラウザに文字列データを保存したり、 再訪するユーザーを特定したりする機構です。 setcookie()setrawcookie() を使用してクッキーをセットすることができます。 クッキーは HTTP ヘッダーの一部なので、 setcookie() はブラウザに何らかの出力を行う前にコールする必要があります。 この制約は、header() に課されているものと同じです。 また、 出力バッファ関数を使用して、 設定するクッキーや送信するヘッダの内容が決まるまで、 スクリプトからの出力を遅らせることが出来ます。

クライアントから送られた全てのクッキーは、 register_globalsvariables_order の設定値に従って、 GETPOST メソッドのデータと全く同様に自動的に PHP 変数に変換されます。 多数の値を一つのクッキーに割り付けたい場合は、[] をクッキー名に加えてください。

PHP 4.1.0 以降では、クライアントから送信された全てのクッキーは常に $_COOKIE という(常にグローバルな)配列に格納されます。 それ以前のバージョンでも、track_vars がセットされていれば $HTTP_COOKIE_VARS にクッキーの内容が格納されます。 (この設定は PHP 4.0.3 以降は常にオンになっています)

ちょっとした注意やブラウザのバグといった詳細に関しては、 setcookie()setrawcookie() を参照してください。