CodeIgniter ユーザガイド 日本語版 Version 1.7.3


クッキーヘルパ

クッキーヘルパのファイルは、クッキーを処理するのに役立つ関数で構成されています。

ヘルパのロード

このヘルパは次のコードを使ってロードします:

$this->load->helper('cookie');

次の関数が利用できます:

set_cookie()

指定した値をクッキーにセットします。クッキーをセットするのにメソッドに情報を渡すやり方には、次のように、配列を指定する方法と個別のパラメータで指定する方法の二通りがあります:

配列で指定する方法

この方法を使うには、第1引数で連想配列を渡します:

$cookie = array(
                   'name'   => 'The Cookie Name',
                   'value'  => 'The Value',
                   'expire' => '86500',
                   'domain' => '.some-domain.com',
                   'path'   => '/',
                   'prefix' => 'myprefix_',
               );

set_cookie($cookie);

Notes:

nameとvalue だけは必須です。クッキーを削除するには、有効期限を空にセットしてください。

有効期限(expire)は時刻を現在時刻から数えた秒数で指定します。時刻を指定するのではなく、クッキーが現在時刻から何秒間有効かを秒数だけで指定します。有効期限を 0 にセットすると、ブラウザが開いている間だけ、クッキーが有効になります。

どのようにリクエストを受け付けたかにかかわらず、サイト全体で使うクッキーには、次のように domain にピリオドから始まるURLを追加してください: .your-domain.com

この関数では、指定されていない場合、ルートパスをセットするので、たいていは、パス(path) は必要ありません。

サーバで同じ名前の他のクッキーと衝突してしまう場合だけ、プリフィックスが必要になります。

個別パラメータで指定する方法

希望であれば、個別のパラメータを使ってデータを渡してクッキーをセットすることができます:

set_cookie($name, $value, $expire, $domain, $path, $prefix);

get_cookie()

クッキーを読み取ることができます。第1引数は、読み取るクッキーの名前になります (接頭辞がある場合はそれも)

get_cookie('some_cookie');

この関数は、読み取ろうとするクッキーが存在しない場合にFALSE (ブール値) を返します。

オプションの第2引数で、データをXSSフィルタに通すことができます。この機能は、第2引数にブール値のTRUEをセットすることで有効になります;

get_cookie('some_cookie', TRUE);

delete_cookie()

クッキーを削除できます。カスタムパスやその他の値は必要なく、次のようにクッキー名のみ指定してください:

delete_cookie("name");

この関数は、値や有効期限のパラメータがない以外は、set_cookie() と同じものです。第1引数に配列で渡すか、個別パラメータで値を渡すことができます。

delete_cookie($name, $domain, $path, $prefix)