ポイントは次の通り。ソースを参考にして欲しい。
- ブラウザ側(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