第 17章クッキー(Cookies)

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

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

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

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