warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.

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
ポイントは次の通り。ソースを参考にして欲しい。
  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
Posted on 2006-09-29 by yas |

PHP で、sha1 のハッシュ値を求める方法

以下のコードを参考のこと。sha1 なので 160ビットの固定長の値は仕様であり、画面への出力は 40バイト固定長の16進数の文字列である(160ビット=160 / 8ビット=バイナリ 20バイト→人間の目に見える形式だとテキスト文字列 40バイト)。
<?php
$content
= "ここに HTML などのコンテンツが入る";
$digest = sha1($content); // コンテンツのハッシュ値 (16進数)
print $digest;
?>
以下のコードを参考のこと。sha1 なので 160ビットの固定長の値は仕様であり、画面への出力は 40バイト固定長の16進数の文字列である(160ビット=160 / 8ビット=バイナリ 20バイト→人間の目に見える形式だとテキスト文字列 40バイト)。
<?php
$content
= "ここに HTML などのコンテンツが入る";
$digest = sha1($content); // コンテンツのハッシュ値 (16進数)
print $digest;
?>

PHP で、TinyMCE を使う。

TinyMCE という AJAX (JavaScript) ベースの HTML エディタのライブラリがある(オンラインのデモはこちら)。これは単体のエディタとして使えように提供されているものではなく、Drupal などの CMS と連動できることを目的として作られている。もちろん自分でこのライブラリを利用する HTML ページを 1枚書いて、オフラインで使ってもよいのだが、せっかくなので PHP と連動させてみた。作った HTML ソースは任意のメールアドレスに送信できるようにした。 ツールバーのカスタマイズは実はそんなに難しくない。詳しくはコードを見ていただきたいが、独断と偏見の最小構成で以下のようにカスタマイズしてみた。 TinyMCE ツールバーカスタマイズ例 設置の仕方だが、ウェブサーバに tinymce などのディレクトリを作ってそこに TinyMCE を解凍して置き、以下のスクリプトを index.php などの名前で保存してそのファイルを同ディレクトリにを置けばよい。 以下のスクリプトを使った TinyMCE のデモはこちら
TinyMCE という AJAX (JavaScript) ベースの HTML エディタのライブラリがある(オンラインのデモはこちら)。これは単体のエディタとして使えように提供されているものではなく、Drupal などの CMS と連動できることを目的として作られている。もちろん自分でこのライブラリを利用する HTML ページを 1枚書いて、オフラインで使ってもよいのだが、せっかくなので PHP と連動させてみた。作った HTML ソースは任意のメールアドレスに送信できるようにした。 ツールバーのカスタマイズは実はそんなに難しくない。詳しくはコードを見ていただきたいが、独断と偏見の最小構成で以下のようにカスタマイズしてみた。 TinyMCE ツールバーカスタマイズ例 設置の仕方だが、ウェブサーバに tinymce などのディレクトリを作ってそこに TinyMCE を解凍して置き、以下のスクリプトを index.php などの名前で保存してそのファイルを同ディレクトリにを置けばよい。 以下のスクリプトを使った TinyMCE のデモはこちら
Posted on 2006-09-15 by yas |

PHP で、cookie を扱うときのカラクリ(シーケンス)

PHP で、cookie を扱う方法」に挙げたスクリプトを試してみて、なんだか動きがしっくり来なかった人も多いと思う。そこで今回はそのシーケンスを書いてみた。同じ色で示したシーケンスは同じ情報(メールアドレス)を表している(図をクリックすると拡大します)。 PHP cookie シーケンス
PHP で、cookie を扱う方法」に挙げたスクリプトを試してみて、なんだか動きがしっくり来なかった人も多いと思う。そこで今回はそのシーケンスを書いてみた。同じ色で示したシーケンスは同じ情報(メールアドレス)を表している(図をクリックすると拡大します)。 PHP cookie シーケンス
Posted on 2006-08-22 by yas |