ネットワーク関数
| 解説 | クッキーを送信する |
|---|---|
| 書式 | bool setcookie( string name [, string value [, int expire [, string path [, string domain [, bool secure ]]]]] ) |
bool setcookie( string クッキー名 [, string クッキー値 [, int 有効日時 [, string パス [, string ドメイン [, bool SSLフラグ ]]]]] ) |
|
| 引数 |
name
クッキー名
|
value
クッキー値
|
|
expire
有効日時
|
|
path
パス
|
|
domain
ドメイン
|
|
secure
1指定でHTTPS通信の場合のみクッキー送信(デフォルトは0)
|
|
| 返値 | TRUE(成功した時)/FALSE(失敗した時) |
setcookie()は、送信するクッキー情報を定義します。
クッキーの送信に成功した時にTRUE、失敗した時にFALSEを返します。
※クッキーはヘッダ情報と同様、他の出力の前にセットされなければいけません。HTMLタグはもちろん、スペースなどの出力もクッキー送信の前にあってはなりません。何らかの出力がこの関数の前にあった場合、setcookie()関数は失敗し、FALSEを返します。
name
クッキー名
value
クッキー値
第2引数はクッキーの値です。クッキーに格納しておきたい値を記述します。
この値は$_COOKIE['クッキー名']で受け取る事ができます。
※この値はクッキーの送信を行う際に自動的にURLエンコードされます。また、クッキーを受信する際には自動的にURLデコードされるので便利です。
スキップする場合は空文字列「""」を指定します。
expire
有効日時
第3引数はクッキーの有効期限をUnixタイムスタンプで指定します。省略した場合はその場限り、つまりユーザが「ブラウザを閉じたら自動で破棄される」という短命のクッキーが送信されます。
スキップする場合は数値の「0」を指定します。
path
パス
第4引数はクッキーを有効にしたいパスを指定します。'/'を指定するとクッキーはそのドメイン配下の全てで有効になります。'/foo/'を指定するとクッキーはfooディレクトリ(フォルダ)とそのサブディレクトリ(例えばfoo/bar/)のみ有効になります。デフォルトはクッキーがセットされた時のカレントディレクトリとなります。
スキップする場合は空文字列「""」を指定します。
domain
ドメイン
第5引数はクッキーを有効にするドメインです。exapmle.comの全てのサブドメインでクッキーを有効とするには'.example.com'をセットします。.は必須ではありませんが多くのブラウザにおいて互換性があります。www.example.comにセットすると、クッキーはwwwサブドメインにおいてのみ有効となります。
スキップする場合は空文字列「""」を指定します。
secure
SSLフラグ
クッキーを削除する場合には第3引数の有効期限(expire)を過去に設定します。
また、クッキー名で配列を使用することができるので、配列要素と同数のクッキーを設定する事ができます。クッキーには制限数がありますが、配列とした場合には1つとカウントされるので便利です。
参考関数
header()---- HTTPヘッダを送信する
サンプルスクリプト
簡単な利用例
<?php
$value = 'クッキー送信のサンプル';
setcookie ("TestCookie", $value);
setcookie ("TestCookie", $value, time()+3600); // 有効期限1時間
?>


