libro
www.tuyano.com
初心者のためのPHPプログラミング入門

ページ遷移、クッキー、セッション (3/8)

作成:2010-12-09 09:23
更新:2010-12-09 09:23

■クッキー利用の基本

Webアプリケーションでは、一貫して何かの情報を保持し続けるようなことがよくあります。例えば、ログインした情報を保持し続けないと、ページどうしたら誰だかわからなくなってしまいますね? こういう「このユーザーの情報はこうだ」ということを保持し続けることは、Webアプリケーションを作成する上でとても重要です。

そのための方法は幾つかありますが、「Webブラウザ側に情報を保管する」という方法で利用されるのが「クッキー」です。クッキーというのは、ブラウザに保存できる非常に小さなデータです。クッキーは、Webサイトごとに細々とした情報がブラウザ内に保管できます。ここにデータを保管しておけば、必要に応じてそのデータを取り出し利用できるわけです。

このクッキーは、それほど大きなデータは入りません。注意したいのは、「保管できるクッキーの数や最大サイズは、ブラウザによって異なる」という点です。だいたい、最低ラインとして「1サイトに付き最大20個、4096バイトまで」という条件は現在のどのブラウザもクリアしているはずですので、これ以下の分量であれば問題ないでしょう。クッキーに大きなデータを保管するのは勧められません。ブラウザによって保存しきれない場合がある、ということは忘れないでください。

このクッキーを利用する場合、「読み」と「書き」でアプローチが異なるので注意してください。まずクッキーの書き込み(保存)ですが、これは「setcookie」という関数を利用します。これは、
setcookie( 名前 , 値 , 破棄する日時 );
このような形で指定をします。名前は、保存するクッキーの名前ですね。これは適当につけます。そして第2引数が保存する値です。3番目の引数は、「そのクッキーをいつ破棄するか」の指定です。これは、破棄する日時を示すタイムスタンプ(覚えてます? 1970年の元旦から計算した経過秒数の値でしたね)を指定します。

この破棄する日時の指定は、省略することもできます。省略したり、ゼロを指定すると、そのクッキーはブラウザ終了時に自動的に破棄されます。

続いてクッキーの読み込みです。これは「$_COOKIE」というPHPのシステムが用意する連想配列から読み取ることができます。これは、
$変数 = $_COOKIE[ クッキーの名前 ];
このようにして、名前を指定してクッキーが取り出せます。注意して欲しいのは、「$_COOKIEの値を変更しても、クッキーを変更することはできない」という点です。これは、値を読むだけのものです。$_POSTなどと同じです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのPHPプログラミング入門」に戻る