PHP で、cookie を扱う方法

ポイントは次の通り。ソースを参考にして欲しい。
  1. ブラウザ側(HTTP クライアント)への書き込みには setcookie 関数を使う。
  2. setcookie 関数は、Content-type: text/html\n\n を出力する前に呼び出さなければならない。その後に呼び出すとエラーとなる。
  3. 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
Posted on 2006-09-29 by yas |
PHP で、cookie を扱うときのカラクリ(シーケンス)
Trackback from Perl Tips: 「PHP で、cookie を扱う方法」に挙げたスクリプトを試してみて、なんだ......
Posted by Perl Tips (未認証ユーザ) on 2006/08/05(土) 10:25