前提・実現したいこと
PHPにて、入力フォームが空だった場合エラーメッセージを表示させたいのですが、
お名前と年齢、どちらとも空欄だった場合
「お名前を入力してください。」
「年齢を入力してください。」
と両方表示させたいのですが、「年齢を入力してください。」しか表示されません。
お名前を空欄で、年齢を数値以外で送った場合は、両方とも表示されます。
該当のソースコード
PHP
1<html> 2 <head> 3 <meta http-equiv="content-type" content="text/html;charset=UTF-8"> 4 <title>入力フォーム</title> 5 </head> 6 <body> 7 <form action="checkInputData.php"method="post"> 8 お名前:<input type="text"name="name"value=""><br> 9 年齢:<input type="text"name="age"value=""><br> 10 <input type="submit"value="送信"> 11 </form> 12 </body> 13</html>
PHP
1<?php 2 //フォームからの入力データを取得 3 $name=$_POST["name"]; 4 $age=$_POST["age"]; 5 $message=""; 6 7 //名前が空かどうかチェック 8 if(empty($name)&&strlen($name)==0){ 9 $message="お名前を入力してください。<br>\n"; 10 } 11 //年齢が空かどうかチェック 12 if(empty($age)&&strlen($age)==0){ 13 $message="年齢を入力してください。<br>\n"; 14 }else if(!is_numeric($age)){ 15 //年齢が数値なのかチェック 16 $message.="年齢は数値で入力してください。<br>\n"; 17 } 18 //エラーがあったのか確認 19 if($message==""){ 20 //正しいメッセージを作成 21 $message=$name."さんは".$age."歳なんですね。<br>\n"; 22 } 23?> 24<html> 25 26 <head> 27 <meta http-equiv="content-type" content="text/html;charset=UTF-8"> 28 </head> 29 30<body> 31 <?=$message?><br> 32 <a href="checkForm1.php">入力画面に戻る</a> 33</body> 34 35</html>
どなたかご教授頂ければ幸いです。
よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/09 09:02