アクセス向上大失敗 www.igros.net
Last updated 2004/8/16
コメントバック 対応

引渡されたデータの参照 -簡単PHP掲示板講座 STEP3-

[PR]特集 Amazon.co.jp レコメンドコンテンツ



STEP3
・掲示板に書込まれたデータを掲示板へ反映
  [要点] HTMLフォーム内でそれぞれ指定したname名で参照します。
  [決め事] 入力された、お名前を$name、メールを$mail、本文を$bodyと言う任意の変数に格納して処理するものとします。
参考ソースプログラム
解説
<?php
# プログラム bbs.php STEP3
 $name = $HTTP_POST_VARS["NAME"];
 $mail = $HTTP_POST_VARS["MAIL"];
 $body = $HTTP_POST_VARS["BODY"];
 echo '
  <html>
  <head>
  <title>PHP-BBS</title>
  </head>
  <body>
  <h1>PHP-BBS</h1>
  STEP3<br>
  <form method="post" action="bbs.php" accept-charset="x-euc-jp">
  お名前 <input type="text" size="16" maxlength="30" name="NAME">
  メール <input type="text" size="30" maxlength="50" name="MAIL"><br>
  本文<br>
  <textarea rows="10" cols="70" wrap="soft" name="BODY"></textarea><br>
  <input type="submit" name="SUBMIT" value="送信">
  </form>
 ';
 echo "お名前:$name<br>";
 echo "メール:$mail<br>";
 echo "本文:$body<br>";
 echo '
</body></html>';
?>
PHPの場合、引渡されるデータの参照方法は色々ありますが、今回は一番分かりやすいと思われる方法で参照してみます。
$HTTP_POST_VARSと言う変数はformから"post"されたデータが自動的に格納されています。
$HTTP_POST_VARS["NAME"];の"NAME"はHTMLフォームで作成した時のname="任意の名前"です。
つまり、先のHTMLフォームで<input type="text" size="16" maxlength="30" name="NAME">と記述していますので、ここに入力されたデータ(お名前)を参照すると言う意味になります。
$name = $HTTP_POST_VARS["NAME"];とは、この値を便宜上、$nameと言う新たな変数にコピーしていることになります。
他の"MAIL"も"BODY"も同じ意味です。
では質問です!
HTMLフォームで 年齢<input type="text" name="age">とした場合、どのように参照すれば良いでしょうか?
答えは最後に...

echo "お名前:$name<br>";
echoは先に説明しましたが1点違いがあります、' 'で囲った場合と、" "で囲った場合で出力される内容が変わります。
' 'で囲った場合 「お名前:$name」 とそのまま文字列として出力されるのに対し、" "の場合は、$nameと言う変数の中身、つまりデータに置き換えられて出力されます。
※原則、全てのecho文は" "で構わないと思います。

ここまでのサンプル check!

どうでしょう、入力した文字が掲示板に反映され少しはそれらしくなってきたでしょうか。
ただ、まだデータの蓄積(書込み来歴)もできていませんが、その前に簡単なデータの整形を行ってみましょう。

答え:$任意の名前 = $HTTP_POST_VARS["age"];
※ "AGE"と指定した方は×、大文字と小文字は一字一句違うと判断されますので要注意!!


<<<< トップ <<< テーマトップ << サブテーマトップ < 前頁次頁 >

www.igros.net
[PR]特集 Amazon.co.jp レコメンドコンテンツ



Copyright(C) アクセス向上大失敗 All Rights Reservd.
version2.0