「クッキーの基本」の編集履歴(バックアップ)一覧はこちら
クッキーの基本 - (2015/10/25 (日) 00:42:46) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
今回はphpプログラムのクッキーと言われているものについて勉強してみました。~
*クッキーとは??
クッキーとは、ウェブサーバ側からクライアントに送られるデータのことで、任意の一定時間クライアント側で保存されるものです。~
例えば、会員制のサイトで「一週間ログインしたままにする」などの機能はクッキーによる恩恵といえるでしょう。~
今回はphpプログラムのクッキーと言われているものについて勉強してみました。~
*クッキーとは??
クッキーとは、ウェブサーバ側からクライアントに送られるデータのことで、任意の一定時間クライアント側で保存されるものです。~
例えば、会員制のサイトで「一週間ログインしたままにする」などの機能はクッキーによる恩恵といえるでしょう。~
クッキーはsetcookie関数を使用します。~
*setcookie
&color(red){第1引数にクッキー名、第2引数に保存する値、第3引数に有効期限}を書きます。~
有効期限はUnixタイムスタンプ秒で設定していきます。~
例えば、、、~
「time() + 60」ならば現在時刻から一分後に有効期限が切れてクッキーが削除されます。~
クッキーにセットされた値は変数「$_COOKIE」に配列形式で格納されます。~
格納された値は$_COOKIE[クッキー名]により取得できます。~
~
http://php.net/manual/ja/function.setcookie.php
~
*コード
**index.php
<body>
<?php
setcookie('nice', 'nicepaper', time() + 60);
echo "クッキーをセットしました。<br> ";
?>
<a href="page2.php">page2へ</a>
</body>
**page2.php
<body>
<?php
if (isset($_COOKIE['nice'])) {
echo "クッキーは{$_COOKIE['nice']}です。";
} else {
echo "クッキーはセットされていません。";
}
?>
</body>
*実行結果
**index.php
#image(width=400,クッキー1.png)
**60秒経っていない場合
クッキーはnicepaperです。
**60秒以上経っている場合
クッキーはセットされていません。
*解説
60秒経ったらクッキーが削除されてメッセージが変わります。~
よくログインが必要なシステムを利用している時にしばらくそのままパソコンを放置して、戻るボタンを押したり操作を始めると「期限切れ」のような表示がなされますが、おそらくクッキーが原因と思われます。~
setcookie関数で「nice」という名前のクッキーに「nicepaper」という値を格納して、現在時刻+60秒後までを有効期限としてセットしています。~
~
page2.phpでは、isset関数でクッキー「nice」が存在するか調べ、存在していたらクッキーの値を表示させます。~
isset関数は、引数で指定した変数が存在するかどうか調べる関数です。~
~
以上