クッキーヘルパ
クッキーヘルパのファイルは、クッキーを処理するのに役立つ関数で構成されています。
ヘルパのロード
このヘルパは次のコードを使ってロードします:
$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引数にブール値のTUREをセットすることで有効になります;
get_cookie('some_cookie', TRUE);
delete_cookie()
クッキーを削除できます。カスタムパスやその他の値は必要なく、次のように、クッキー名のみ指定してください:
delete_cookie("name");
この関数は、値や有効期限のパラメータがない以外は、set_cookie() と同じものです。第1引数に配列で渡すか、個別パラメータで値を渡すことができます。
delete_cookie($name, $domain, $path, $prefix)