PHP setcookie() 関数
定義と使用法
setcookie() 関数はクライアントに HTTP cookie を送信します。
cookie はサーバーがブラウザに送信する変数です。cookie は通常、サーバーがユーザーのコンピュータに埋め込む小さなテキストファイルです。コンピュータがブラウザを通じてページをリクエストするたびに、この cookie が送信されます。
cookie の名前が同じ名前の変数に指定されます。例えば、送信される cookie 名が "name" であれば、cookie の値を含む $user という名前の変数が自動的に作成されます。
cookie に値を設定する必要があります。他のすべての出力を送信する前に。
成功した場合、この関数は true を返し、失敗した場合、false を返します。
文法
setcookie(name,value,expire,path,domain,secure)
パラメータ | 説明 |
---|---|
name | 必須。cookie の名前を指定します。 |
value | 必須。cookie の値を指定します。 |
expire | オプション。cookie の有効期限を指定します。 |
path | オプション。cookie のサーバーパスを指定します。 |
domain | オプション。cookie のドメインを指定します。 |
secure | オプション。cookie を安全な HTTPS 接続を通じて転送するかどうかを指定します。 |
ヒントとコメント
コメント:「user」名の cookie の値にアクセスするには、$HTTP_COOKIE_VARS["user"] または $_COOKIE["user"] を使用できます。
コメント:cookie を送信する際、cookie の値は自動的に URL エンコードされます。受信時に URL デコードされます。これが必要でない場合は、以下を使用できます setrawcookie() 代替。
例
例 1
cookie を設定および送信:
<?php $value = "my cookie value"; // 簡単な cookie を送信 setcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // 24時間後に失効する cookie を送信 setcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
例 2
cookie 値の検索方法を示します:
<html> <body> <?php // 出力する個別の cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // 全てのcookieを出力 print_r($_COOKIE); ?> </body> </html>
出力:
my cookie value my cookie value Array ([TestCookie] => my cookie value)
例 3
// 失効日時を過去の日時/時間に設定することでcookieを削除します:
<?php // 失効日時を1時間前に設定 setcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
例 4
cookie:配列を作成します:
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); // cookie (ページリロード後に)出力 if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "$name : $value <br />"; } } ?> <html> <body> ... ...
出力:
three : cookiethree two : cookietwo one : cookieone