<html> <head> <title>クッキーでデータを記録する</title> </head> <body> <?php setcookie("key",$_POST['email'], time()+(60*60*24*7)); ?> クッキー"email"を保存しました。 </body> </html>
クッキーとは
クッキーは、webで記憶しておきたい内容をブラウザ側で記憶をしておく機能です。クッキーの保存は、webサーバーよりブラウザ側に名前と記録期限を指定して依頼します。
ブラウザ側では、サーバーからの求めに応じて記録したデータを返します。記録期限を過ぎたクッキー情報はブラウザ側で削除可能です。
<html> <head> <title>クッキーでデータを記録する</title> </head> <body> <form method="POST" action="cookie_rec.php"> クッキー利用: <input type="text" name="key" size="30" maxlength="50" value="<?php print($_COOKIE['key']); ?>" /> <input type="submit" value="送信" /> </form> </body> </html>
先最初は名前は空欄です。入力後送信すると、クッキーに保存されます。
応用
FORMで多くの記事を入力し、送信する場合、入力にミスがあると再入力が必要になります。そこで、送信時にクッキーに保存しておきます。再度入力するとき、クッキーに保存された値が記録されている場合、その情報を利用できます。
取得
PHPでは、クッキーの値は、連想配列 $_COOKIE[キー名]
で取得できます。
保存
サーバーから依頼を受けた CGI がクッキーへの保存を依頼します。PHPでは
setcookie(キー名、記憶文字列、期限)
で依頼します。期限は、依頼時刻+秒数で設定します。現在時刻は、time() で取得しますから、time() + 60*60*24*7 で7日保存します。
再度、cookie.php を立ち上げると、クッキーに保存された値が入ります(リロードが必要です)。