setcookie
| 解説 | クッキーを送信する |
|---|---|
| 書式 | 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(失敗した時) |
クッキーの送信に成功した時にTRUE、失敗した時にFALSEを返します。
{$smarty.const.HTML_KOME}クッキーはヘッダ情報と同様、他の出力の前にセットされなければいけません。HTMLタグはもちろん、スペースなどの出力もクッキー送信の前にあってはなりません。何らかの出力がこの関数の前にあった場合、setcookie()関数は失敗し、FALSEを返します。
nameクッキー名valueクッキー値第2引数はクッキーの値です。クッキーに格納しておきたい値を記述します。
この値は$_COOKIE['クッキー名']で受け取る事ができます。
{$smarty.const.HTML_KOME}この値はクッキーの送信を行う際に自動的にURLエンコードされます。また、クッキーを受信する際には自動的にURLデコードされるので便利です。
スキップする場合は空文字列「""」を指定します。
expire有効日時第3引数はクッキーの有効期限をUnixタイムスタンプで指定します。省略した場合はその場限り、つまりユーザが「ブラウザを閉じたら自動で破棄される」という短命のクッキーが送信されます。
スキップする場合は数値の「0」を指定します。
pathパス第4引数はクッキーを有効にしたいパスを指定します。'/'を指定するとクッキーはそのドメイン配下の全てで有効になります。'/foo/'を指定するとクッキーはfooディレクトリ(フォルダ)とそのサブディレクトリ(例えばfoo/bar/)のみ有効になります。デフォルトはクッキーがセットされた時のカレントディレクトリとなります。
スキップする場合は空文字列「""」を指定します。
domainドメイン第5引数はクッキーを有効にするドメインです。exapmle.comの全てのサブドメインでクッキーを有効とするには'.example.com'をセットします。.は必須ではありませんが多くのブラウザにおいて互換性があります。www.example.comにセットすると、クッキーはwwwサブドメインにおいてのみ有効となります。
スキップする場合は空文字列「""」を指定します。
secureSSLフラグクッキーを削除する場合には第3引数の有効期限(expire)を過去に設定します。
また、クッキー名で配列を使用することができるので、配列要素と同数のクッキーを設定する事ができます。クッキーには制限数がありますが、配列とした場合には1つとカウントされるので便利です。
参考関数
- header() ---- HTTPヘッダを送信する
サンプルスクリプト
簡単な利用例
- $value = 'クッキー送信のサンプル';
- setcookie ("TestCookie", $value);
- setcookie ("TestCookie", $value, time()+3600); // 有効期限1時間
| PHP辞典 |
|
|---|---|
![]() |
PHP5の関数にも対応したリファレンスですが、関数ごとにバージョンが表示されているのでPHP4ユーザにも安心。簡単なサンプルが全ての関数についている事と目的別検索が魅力です。 |
| PHPポケットリファレンス |
|
|---|---|
![]() |
携帯用でもOKの小さめの本。関数本にありがちな分厚い・重い・見るのがおっくうという欠点をコンパクト化で解消してます。小さいながらも関数の掲載量・内容は共に十分充実しており、関数ごとのサンプルや目的別検索もあります。 |





