3.1 フォームからの受信
次に習っていただくのは、 クライアント(PCなど端末側)から
入力されたデータを受け取り、 表示させるようなプログラムです。
電卓を作ろう
今まで習ってきたコードと、 このデータの受け渡しコードで、
自分の電卓を作りましょう。
掛け算を考えましょう。
細かく書きます。
- パソコン(クライアント)に表示されている電卓画面を表示させる。
- その画面の入力フォーム1に数値1を選択する。
- その画面の入力フォーム2に数値2を選択する。
- その後、掛け算のボタンを押すと、クライアントが、先ほどの数値1と2及び掛け算の入力されたデータを、
サーバーにリクエストする。 - サーバで3つのデータを計算し答えを求める。
- 求めた、計算したデータを再度クライアントのパソコンに表示させる。
以上が今回のプログラムですが、上記1.から4.はHTMLファイルで、
5.から6.はPHPプログラム(ファイル)です。
HTMLプログラムの知識が必要ですが、以下のHTMLのコードで勉強しましょう。
スポンサーリンク
以下のHTMLコードを新規作成して下さい。
またPHPファイルと同様に
”C:\xampp\htydocs\phptest”の配下に保存して下さい。
またエディタもHTMLモードにして下さい。
1 <html>
2 <head>
3 <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
4 <title>dentaku1.html</title>
5 </head>
6 <body>
7 <form action="./dentaku1.php" method="post">
8 <label>数値1:<input type="number" name="num1"></label><br>
9 <label>数値2:<input type="number" name="num2"></label><br>
10<input type="radio" value="+" name="ca">+<br>
11 <input type="radio" value="-" name="ca">-<br>
12<input type="radio" value="*" name="ca">*<br>
13<input type="radio" value="/" name="ca">/<br>
14<input type="submit" value="計算">
15</form>
16</body>
17</html>
さらに次のPHPコードを入力して下さい。
そして、"http://localhost/phptest/dentaku1.html"を実行して下さい。
2<head>
3<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
4<title>dentaku1.html</title>
5</head>
6<body>
7<?php
8 echo"次のデータを受け取りました <br>\n";
9 $numb1=$_POST["num1"];
10 $numb2=$_POST["num2"];
11 echo "数値a:".$numb1."<br>";
12 echo "数値b:".$numb2."<br>";
13 $ans=$numb1*$numb2;
14 echo "答え:".$ans."<br>";
15 ?>
16 </body>
17 </html>
上記のHTMLファイルを実行して下さい。
”http://localhost/phptest/dentaku1.html”
どうですか入力した数値1,2の掛け算の答えがでましたか?
HTMLファイル説明
<form ~</form>タグまでの記述をフォームと呼び、フォームの中には
- テキストボックス
- ラジオボタン
- チェックボックス
- ボタン
などが<input~タグで配置できます。
name="nn"や"ca"のnn、caでPHPファイル側と名称を合わせます。
今回はcaは使っていませんが。
<input type="submit" value="計算"で、計算のボタンにより、
データがリクエストされます。
また、<form action="AA.php" method="YY"> のように
AA.phpでリクエストするPHPファイル名を指定し、
YYの「POST」か「GET」で、データを渡します。
「GET」はURLの一部で表示され、
データ長は255文字までとなり、複雑なものには向いていません。
「POST」はデータがURL上に表示されなく、セキュリティ的に安全です。
文字の制限もないので、「POST」利用が多いかもしれません。
PHPファイル説明
HTMLファイルから起動されたPHPファイルは、$_POST["nn"]で、
データを受け取りHTMLのname="nn"で合わせます。
数値1をnum1、数値2をnum2でお互い合わせています。
このように、HTMLで入力されたデータは、サーバーでPHPで計算
され、PHPでクライアントに表示することが出来ます。