| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
setcookie(PHP 4, PHP 5, PHP 7) setcookie — クッキーを送信する 説明
bool setcookie
( string
$name
[, string $value = ""
[, int $expire = 0
[, string $path = ""
[, string $domain = ""
[, bool $secure = false
[, bool $httponly = false
]]]]]] )setcookie() は、その他のヘッダ情報と共に 送信するクッキーを定義します。 ほかのヘッダ情報と同様に、 クッキーは、スクリプトによる他のあらゆる出力よりも前に 送信される必要があります(これはHTTPプロトコルの制約です)。 <html> や <head> タグはもちろん 空白も含め、あらゆる出力よりも前にこの関数をコールするようにしなければなりません。 一度クッキーが送信されると、次のページのロードからは $_COOKIE 配列によってクッキーにアクセスできます。 クッキーの値は $_REQUEST 配列からもアクセスできるかもしれません。 パラメータsetcookie() の各パラメータがどのように作用するのかを知るには » RFC 6265 を参照ください。
返り値
もしもこの関数をコールする前に何らかの出力がある場合には、
setcookie() は失敗し 例以下はクッキーを送信する例です。 例1 setcookie() での送信の例
<?php クッキーの value の部分は、クッキーの送信を行う際に自動的に URL エンコードされ、またクッキーを受信した際は、自動的にデコード されてクッキー名と同じ名前の変数に格納されることに注意してください。 この挙動が気に入らない場合、もし PHP 5 を使用しているなら 代わりに setrawcookie() を使ってください。 スクリプト内部で TestCookie の内容を見たい場合は、 以下のいずれかの例を使用します。
<?php
例2 setcookie() による削除の例 クッキーを削除する場合には、ブラウザの削除機構を起動するために 必ず有効期限を過去に設定する必要があります。 次に、先ほどの例で送信したクッキーを削除する例を示します。
<?php
例3 setcookie() と配列 クッキー名で配列を記述することにより、クッキーの配列を設定することも可能です。 これにより配列要素と同数のクッキーを設定されますが、 クッキーがスクリプトに受信された際に、 値はクッキー名を有する配列に置きかえられます。
<?php 上の例の出力は以下となります。 three : cookiethree two : cookietwo one : cookieone 変更履歴
注意
陥りやすい失敗
setcookie() を複数回コールした場合は、コールした順番で実行されます。 |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「setcookie - クッキーを送信する」をGoogle検索
|