ポイントは次の通り。ソースを参考にして欲しい。
- ブラウザ側(HTTP クライアント)への書き込みには setcookie 関数を使う。
- setcookie 関数は、Content-type: text/html\n\n を出力する前に呼び出さなければならない。その後に呼び出すとエラーとなる。
- cookie の値の読み出しには $_COOKIE['クッキーID'] から値を取得する。
<?php
$COOKIE_ID='count'; // 変数名のようなものをここに書く
$DOMAIN='twinkle.cc'; // このスクリプトを置いたサーバのドメイン
$RELATIVE_PATH='/'; // ルート以下、サブディレクトもすべて対象にする場合は「/」
$COOKIE_EXPIRE = time() + 10 * 365 * 24 * 60 * 60;
//有効期限 10年(10年 x 365日 x 24時間 x 60分 x 60秒)
// クッキー発行($DOMAIN の前にはドット「.」を付ける。)
setcookie($COOKIE_ID, $_POST['email'], $COOKIE_EXPIRE, $RELATIVE_PATH, ".$DOMAIN");
// あとは、$_COOKIE[クッキーID] でアクセスできる。$_COOKIE[…] は定義済み変数。
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<body>
<form name="form" method="post" action="<?php print basename(__FILE__); ?>">
<ul>
<li>前回入力したメールアドレス: <?php print $_COOKIE[$COOKIE_ID]; ?></li>
<li>新たにメールアドレスを入力:<input type="text" name="email" value=""><br />
<input type="submit" value="送信"></li>
</ul>
</form>
</body>
</html>
Update: 2006/09/30
Original: 2006/08/20
トラックバック URL:
https://perltips.twinkle.cc/trackback/120