このサイトはPHPを独習する際に作成したスクリプトを基に、プログラム言語初心者のための入門講座として作成しました。PHPは初心者に親しみやすく、解りやすいプログラム言語です。これからプログラムを学ぶ人の参考になればと思います。
formを使ってデータの送信
PHPでインタラクティブなサイト作りの基本になるのが、この form での入力の画面作りです。 そして、form action で PHP プログラムの書かれたファイルへ飛ぶことで、そのデータを反映させることができるのです。 form のパターンにはさまざまな形がありますから、HTML が自由に使えることは非常に重要になるので、その辺が不安な方はやはりこのサイトがオススメです。
1-1 画面に字を書くぞ!
form で送られたデータには、data と言う名前がつけられているので、$data = $_POST['data'];でこれを受取 $data と言う関数に入れています。 変数に入れば、あとは echo で表示するだけ。form の基本がこれです。 htmlspecialchars($data, ENT_QUOTES) という一文が出てきますが、これは form でデータを送信する場合、HTMLを記述されると問題が起こる場合があるので、これを無視するためのものなのです。
⇒こんな感じ
1-2 数字はちょっと加工しよう
同じくformで数字入力の画面を作り、それを3ケタ区切りでカンマをつけて見ました。 ここでは、number_format() が出てきます。これは数字を3桁区切りで表示する関数です。この関数を使用した後では計算ができなくなるので、表示の直前に使うようにしましょう。
⇒こんな感じ
1-3 コンピュータなんだから、計算させよう!
計算は得意です。演算子を使って計算させましょう。まずは足し算かな。 「こんな感じ」を見ると、2つの数字を入れて足し算ができます。"+ =0"ってのが気になりますが、今は気にしないでください。○+△=□と言う表示をするために、echo "$data1 + $data2 = $ans" と記述しています。ここで知って欲しいことは、”〜”の中では文字(日本語とHTML)・記号・PHP の変数がそのまま同時に記述されていることです。PHP では”〜”内では文字と変数が自由に使えるのです。これはすごい!でも、関数や演算子はダメですよ。
⇒こんな感じ
1-4 もっと色々 form で送ろう!
form ではもっと色々な形式でデータを送信できます。あるもの全部使って見ましょう。form で送ることのできる形式は「テキスト」「セレクト」「ラジオボタン」「チェックボックス」「テキストエリア」ですね。全部の形式を試してみましょう。
⇒こんな感じ
1-5 urlを使ってデータの送信
データを送る次の方法は、url にデータをくっ付けてリンクさせると言うものです。form のように任意の文字やデータを送信することはできませんが、送信するデータが常に決まっている場合は、非常に有効ですね。
url の後ろに ? を付け、"name=データ"という形式でデータの受け渡しを行います。これでリンクを付けたファイルに移動し、その時にデータを渡すことができるのです。 受取は $name = $_GET[name]; と言うように、$_GET を使います。示します。
<a href="file01.php?name=sun">sun</a>
しかし、ここで送信できるのは英数文字と一部を除いた記号のみ、日本語をそのまま送ることはできません。そこで必要になるのが、英数文字以外の言葉を%と16進数の文字に変換するエンコードとそれをもとに戻すデコードです。 このエンコード・デコードには2種類あり、空白などの扱いが多少違うようですが、大きな差はないように思われます。ところで、ネット上でこれを検索すると、ほとんどがPHPマニュアルの内容そのままですね。
urlencode (データ) URL文字列のエンコード urldecode (データ) エンコードされたURL文字列のデコード
rawurlencode (データ) RFC1738に基づきURLエンコード rawurldecode (データ) URL エンコードされた文字列をデコード表
リンクを張るタグにそのまま埋め込んでいます。
echo "<a href='01_05_send.php?name=".urlencode ("のぞみ")."'>のぞみ</a>";
受け取ったデータは urldecode($name) と記述しデコード、これを表示します。
⇒こんな感じ |