登録フォームを作っていて、
「登録画面→確認画面→登録完了画面」の「確認画面」の部分で質問です。
エラーチェックがうまくできません。
具体的には、ブラウザに以下のようなメッセージが表示されます
HTTP 500 エラー
申し訳ありません。Web サイトはこのページを表示できません
このサイトではメンテナンス中であるか、プログラミング エラーが発生している可能性があります。
対処方法
直前のページに戻る
Web サイトの所有者に連絡してください
そもそも、エラーチェックのイメージが湧いていないことが原因なのですが、
同じ「confirm.php」内なのに、どのようにして表示内容を切り替えるのでしょうか。
<エラーチェック項目>
・学籍番号に数字以外が入力された場合にエラー
・名前が空欄の場合にエラー
・年齢が入力されていない場合にエラー
以下、登録フォーム入力画面
php
1 2<!DOCTYPE html> 3<html lang = "ja"> 4<head> 5 <meta charset="utf-8"> 6 <title>Progate</title> 7 <link rel="stylesheet" type="text/css" href="stylesheet.css"> 8</head> 9<body> 10 11<div class="contact-form"> 12 <div class="idinput"> 13 <form class="form-item" action="confirm.php" method="POST" id="id"> 14 <table> 15 <thead> 16 <tr> 17 <th>ID入力ホーム</th> 18 </tr> 19 </thead> 20 <tbody> 21 <tr> 22 <th>学籍番号</th> 23 <td><input type="text" name="idnumber"></td> 24 </tr> 25 <tr> 26 <th>名前</th> 27 <td><input type="text" name="name"></td> 28 </tr> 29 <tr> 30 <th>年齢</th> 31 <td><input type="text" name="age"></td> 32 </tr> 33 </tbody> 34 <tfoot> 35 <tr> 36 <th>備考</th> 37 <td><textarea name="comment" cols="40" rows="5"></textarea></td> 38 </tr> 39 </tfoot> 40 </table> 41 <input type="submit" value="送信"> 42 </form> 43 </div> 44 </div> 45</body> 46</html> 47
以下、登録フォーム確認画面
php
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>登録確認フォーム</title> 6 <link rel="stylesheet" type="text/css" href="stylesheet.css"> 7</head> 8<body> 9<form class="form-item" action="complete.php" method="post" id="confirm"> 10 11 12<?php 13 $idnumber =$_POST["idnumber"]; 14 $name = $_POST["name"]; 15 $age = $_POST["age"]; 16 $comment = $_POST["comment"]; 17 18 $error = array(); 19 if (is.numeric($idnumber) == false){ 20 $errors[] = "数字を入力してください"; 21 } 22 if ($name == NULL){ 23 $errors[] = "名前を入力してください"; 24 } 25 if ($age == NULL){ 26 $errors[] = "年齢を入力してください"; 27 } 28?> 29 30<?php 31if (empty($error)){ 32 <h1>登録内容確認</h1> 33 <p>学籍番号</p> 34 <p><?php echo $_POST['idnumber']; ?></p> 35 36 <p>名前</p> 37 <p><?php echo $_POST['name']; ?></p> 38 39 <p>年齢</p> 40 <p><?php echo $_POST['age']; ?></p> 41 42 <p>備考</p> 43<p><?php echo $_POST['comment']; ?></p> 44 45 46 <input type="hidden" name="idnumber" value="<?php echo $_POST['idnumber']; ?>"> 47 <input type="hidden" name="name" value="<?php echo $_POST['name']; ?>"> 48 <input type="hidden" name="age" value="<?php echo $_POST['name']; ?>"> 49 <input type="hidden" name="comment" value="<?php echo $_POST['comment']; ?>"> 50 </form> 51} 52else { 53 <h1>入力にエラーがあります</h1> 54 foreach( $error as $value ){ 55 <li>< echo $value; </li> 56 } 57} 58 ?> 59 60 </body> 61</html>
この後にcomplete.phpという登録完了画面を作る予定ですが、まだ作成していません。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。