アプリケーション
ここではformを利用してサーバーとクライアント間のやりとりの説明をします。
みなさんWEBサイトでフォームやチェックボックスからデータを入力したことがあると思います。 このフォームやチェックボックスなど、 クライアント側で入力されたデータはサーバー側に送信されます。 まずはhtmlで入力フォームを作成してみましょう。
<html> <head><title>input.html</title></head> <body> 入力フォームです。 名前を入力してみましょう。 <form action="output.php" method="post"> <table border="1"> <tr> <td>名前</td> <td><input type="text" name="name"></td> <td colspan="2" align="center"> <input type="submit" value="入力"> </td> </tr> </table> </form> </body> </html>
<form action="output.php" method="post">
HTMLのformタグを使ってデータの受け渡しを行います。 action属性で指定してるファイルにデータを渡します。ここではoutput.phpというファイルを指定してます。 method属性ではデータを送る際の送信方法を指定します。postとはURLとは別にデータを送る方法です。
<input type="text" name="name">
inputタグのnameオプションで指定している名前(ここではname)で入力したデータが送られます。 typeオプションではtextを指定してtextフィールドを表示しています。
<input type="submit" value="入力">
typeオプションでsubmitを指定し、送信ボタンを表示してます。 valueにはボタンに表示する名前を入力できます。
次に出力フォームをPHPスクリプトで書いてみましょう。
<html> <head><title>output.php</title></head> <body> <?php $name = $_POST['name']; print ("次のデータを受け取りました<br />"); print ("名前:$name<br />"); ?> </body> </html>
実行結果を見る
$name = $_POST['name'];
スーパーグローバル変数である$_POSTを使っています。 スーパーグローバル変数とは宣言なしで使えるグローバル変数のことです。 サーバークライアント間のデータのやり取りを担っています。 ここでは、入力フォームでmethodをpostと指定したので、 スーパーグローバル変数$_POSTによって受け取っています。 入力したテキストはnameという名前で送信されているので $_POST['name']となります。