[4]クッキーを操作する
【HTTP関連の関数:setcookie関数】 クッキーをクライアントのブラウザにSETするには「 setcookie関数 」を使い、クッキーを受け取るには「 定義済み変数の$_COOKIE($HTTP_COOKIE_VARS) 」を 使います。 cookieをクライアントのブラウザにセットするには以下のようにHTMLを出力する前に行わなければなりません。 HTMLヘッダを出力後にこの関数を使うとエラーになります。 では、実際にクッキーをセットしてセットしたクッキーを読み込む簡単なプログラム を作成してみましょう。 このプログラムはソースをコピーしたりせずに、ご自分でタイプしてみてください。 また、ここ以降はそれぞれの関数についての個別解説はしませんので、 出てくる関数についての詳細はマニュアルを参考にしてください。
<?php
/////////////////////////////////////////// //PHPプログラムの動作テスト //クッキーの操作 /////////////////////////////////////////// //情報を保存するCookieの名前 $cookie_id="wspri_id"; //サイトの名前 $name="Webサーバプログラミング研究所"; //管理者のメールアドレス $mail="aaa@aaa.jp"; //サイトのドメイン $dns_name="wspri.dip.jp"; if(!isset($HTTP_COOKIE_VARS["$cookie_id"])){ //格納情報を配列にする $cookvalue = implode(",", array($name,$mail,$dns_name)); //クッキーの有効期限time()+日数*時間*一時間の秒数[例]time()+1*24*3600では24時間という事 $timesid=time()+1*1*20; //とりあえず20秒で期限切れに設定 setcookie ("$cookie_id",$cookvalue,$timesid); $msg="セットされたクッキーがない為、新しくセットしました!"; } else{ list($named,$maild,$dnsnamed) = explode(",", $HTTP_COOKIE_VARS["$cookie_id"]); } echo (" <html> <body> "); if(isset($msg)){ print $msg; } else{ print "クッキーを読み込みました!<hr>"; print $named."<br>"; print $maild."<br>"; print $dnsnamed."<br>"; } echo (" </body> </html> "); ?> クッキーのセット方法はこれだけです。簡単でしょ? 格納する変数を増やせばいろんな情報を入れられます。 【setcookieの解説】 implode()は配列を作成する関数です。配列を作成して$cookvalueに格納し、 クッキーにセットしています。 $timesid=time()+1*1*20;はクッキーの有効期限をセットしています。 また、読み込み時にはクッキーが配列になっていますので、セットした値を explode()関数で、","を境に分けてlist()関数でそれぞれの変数に代入しています。 クッキーは例えば訪問回数の管理や、ログイン情報の保守などに使われます。 この項はこれで終わりです。あとはマニュアルをみて拡張していってくださいね。 |
TOPへ |