クッキーの送信
クッキーはクライアント側にデータを保存するためのものです。例えば一度ホームページを閲覧したクライアントに対してクッキーを送信して保存しておいてもらえば、次にホームページにアクセスがあった時にクッキーがあるかどうかを確認することで初めての訪問者なのかどうか調べることができます。
そこでまずホームページにアクセスがあった時に、クライアントにクッキーを送信して保存してもらう方法を確認します。setcookie関数を使います。
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]] )
setcookie() は、その他のヘッダ情報と共に 送信するクッキーを定義します。 ほかのヘッダ情報と同様に、 クッキーは、スクリプトによる他のあらゆる出力 よりも前に送信される必要があります。もしもこの関数をコールする前に何らか の出力がある場合には、setcookie()は失敗し FALSE を返します。setcookie() が正常に実行されると、TRUE を返します。この関数はユーザーがクッキーを受 け入れたかどうかを示すことはしません。 パラメータ: name クッキーの名前 value クッキーの値 expire クッキーの有効期限 path サーバー上での、クッキーを有効としたいパス domain クッキーが有効なドメイン secure 1をセットすると セキュアなHTTPS接続の場合にのみクッキーが 送信されるようになります。 デフォルトは0です 返り値: 正常に実行されるとTRUE
基本となるのはクッキーの名前と値です。例えば「visited」と言う名前のクッキーを作成し、値に訪問回数である「1」を書き込む場合は下記のようになります。
<?php setcookie("visited", 1); ?>
では実際に試してみます。
<?php $flag = setcookie("visited", 1); ?> <html> <head><title>PHP TEST</title></head> <body> <?php if ($flag){ print('<p>クッキーを書き込みました</p>'); }else{ print('<p>クッキーの書き込みに失敗しました</p>'); } ?> </body> </html>
上記ファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。
これでクライアント側にクッキーを書き込むことが出来ました。次のページで今度はクライアント側に保存されたクッキーの値を読み取ってみます。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。