さー第3回です。
前回は簡単なくじ引きゲームを作りました。 PHPっぽくなってきましたね(…え?してきたでしょ?笑) 今回は動的なページを作るということで、もう一歩踏み込んでみたいと思います。
今回はフォームからのデータの送信と受信についてです。
フォームからの送信はHTMLで記述しますが、送信フォームも受信部分も全てひとつのPHPファイルに記述できます。 送信フォームはこんな感じです。
<form action="" method="GET"> <input type="text" name="namae" /> <input type="submit" value="送信" /> </form>
簡単に説明します。 <form>〜</form>は送信フォームを示してます。
formにはactionとmethodがパラメータとして指定されています。
<form action="送信先のURL" method="送信方式">
という形で指定します。 送信方式にはGETとPOSTがあります。これは指定しない場合、GET送信になります。
今回は送信元URLと送信先URLが同じなのでactionには空を指定。 methodはURLの最後に?送信データの形で渡されるGETを指定しています。
<input>は1つに対して送信する値を1つセットすることが出来ます。 見た目を設定するのはtype要素です。 type=”text”はテキストデータの入力欄を提供します。 name=”テータ名”にはデータの項目名を指定します。
<input type="text" name="namae" />
この場合、送信されたデータは"namae"というデータ名で送信されます。
送信ボタンはtype="submit"です。 valueパラメータにはボタンに表示する文字を指定します。
データの受信部を書いていきます。 GET送信されたデータはの形で受け取ることができます。
<?php $_GET['データ名'] ?>
今回はこれを変数に格納して、表示したいと思います。
<?php $namae = $_GET['namae']; if(isset($namae)){ echo "ようこそ!" .$namae ."さん<br />"; } ?>
先ほどデータ名"namae"で送信するHTMLコードを記述したので、それを受け取って$namaeに代入しています。 isset($namae)は$namaeに値が入っている場合にtrueを返します。 if()の条件がtrueの場合は{}内が実行されるので、メッセージが表示されます。
<?php ?>の外ではHTMLが普通に記述できるので、先ほどの送信部分と組み合わせて、最終的なコードは以下のようになります。
<?php $namae = $_GET['namae']; if(isset($namae)){ echo "ようこそ!" .$namae ."さん<br />"; } ?> <form action="" method="GET"> <input type="text" name="namae" /> <input type="submit" value="送信" /> </form>
これだけです。 試しに実行してみましょう。
GET送受信まとめ
先ほどはパラメータをURLにくっつけて渡すGET送信を行ないました。 URLにくっつけるのでデータの長さに制限があったり、不都合な場合もあります。 その場合はPOST送信を使用します。
基本的には変わりませんが、formのmethodが"POST"になり、$_POST[‘データ名’]で受け取ります。 以下、サンプルです。
<?php $namae = $_POST['namae']; if(isset($namae)){ echo "ようこそ!" .$namae ."さん<br />"; } ?> <form action="" method="POST"> <input type="text" name="namae" /> <input type="submit" value="送信" /> </form>
POST送受信まとめ
以上です!
動画はこちら
ではでは
コメント 0
トラックバック 0
PHP講座 第2回 -条件分岐-
PHP講座 第4回 -配列-
カニモモンガの技術めも 横浜市在住の薬学生Developer. 第100回薬剤師国家試験合格。 卒業してCEOになったよ。 毎日エンジョイしてる。 最近はもっぱらサーバー周りのこととかPHPとか。
return top
コメント 0