<<前 [TOP] 次>>
POSTされた内容によって処理を分けたい場合の例です。
PHPでは、条件分岐の制御構造としてifが用意されています。
if ( 条件式 ) { 処理; } else if ( 条件式 ) { 処理; } else { 処理; }
「else if」や「else」は省略可能です。
また処理が1行の場合は{}を省力して記述することも可能です。
if ( 条件式 ) 処理;
以下のHTMLファイルとPHPプログラムをテキストエディタで作成して「phpsample」フォルダに保存して下さい。
【enq.html】
<p>下記の値を入力してください。</p> <form action="enq-result.php" method="post"> <p> 姓(必須): <input type="text" name="sei_kan"><br> 名(必須): <input type="text" name="mei_kan"><br> せい(ひらがな:必須): <input type="text" name="sei_kana"><br> めい(ひらがな:必須):<input type="text" name="mei_kana"><br> メールアドレス(半角英数:必須): <input type="text" name="mail1"><br> メールアドレス確認(半角英数:必須): <input type="text" name="mail2"><br> </p> <input type="submit"> <input type="reset"> </form>
【enq-result.php】
<p>呼び出されたPHPプログラム</p> <?php $error=0; $sei_kan=$_POST['sei_kan']; $mei_kan=$_POST['mei_kan']; $sei_kana=$_POST['sei_kana']; $mei_kana=$_POST['mei_kana']; $mail1=$_POST['mail1']; $mail2=$_POST['mail2']; if ($sei_kan == "") { $error=1; $message="姓"; } else if ($mei_kan == "") { $error=1; $message="名"; } else if ($sei_kana == "") { $error=1; $message="せい"; } else if ($mei_kana == "") { $error=1; $message="めい"; } else if ($mail1 == "") { $error=1; $message="メールアドレス"; } else if ($mail2 == "") { $error=1; $message="確認メールアドレス"; } if ($error == 1) { print("<bold>${message}</bold>が入力されていません。"); print("前のページに戻って入力してください。<br>\n"); } else { print("確認画面<br>\n"); printf("姓名(ひらがな):%s%s(%s%s)<br>\n", $sei_kan, $mei_kan, $sei_kana, $mei_kana); print("メールアドレス${mail1}<br>\n"); } ?>
各文字列が空文字列("")だった場合に「error」として適当なメッセージを代入しています。
その後「error」があればエラーメッセージを表示して「error」がなければ確認画面を表示します。
Apacheを起動し、Webブラウザで「http://localhost/phpsample/enq.html」にアクセスして実行結果を確認してください。
↓↓クリックして頂けると励みになります。