<?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文は" "で構わないと思います。 |