이전 섹션의 확인 규칙에서 '이름', '이메일' 및 '성별' 필드가 필수임을 알 수 있습니다. 이러한 필드는 비워둘 수 없으며 HTML 양식으로 채워야 합니다.
필드 유효성 검사 규칙
이름이 필요합니다. 문자와 공백을 포함해야 합니다.
이메일이 필요합니다. 유효한 이메일 주소를 포함해야 합니다(@ 및 . 포함).
웹사이트 선택사항. 선택사항인 경우 유효한 URL을 포함해야 합니다.
댓글은 선택사항입니다. 여러 줄 입력 필드(텍스트 상자).
성별은 필수입니다. 하나를 선택해야 합니다.
이전 섹션에서는 모든 입력 필드가 선택 사항이었습니다.
아래 코드에는 $nameErr, $emailErr, $genderErr 및 $websiteErr라는 몇 가지 새로운 변수가 추가되었습니다. 이러한 오류 변수는 요청된 필드에 대한 오류 메시지를 보유합니다. 또한 각 $_POST 변수에 if else 문을 추가했습니다. 이 명령문은 $_POST 변수가 비어 있는지 확인합니다(PHP empty() 함수를 통해). 비어 있으면 오류 메시지가 다른 오류 변수에 저장됩니다. 비어 있지 않은 경우 사용자 입력 데이터는 test_input() 함수를 통해 전송됩니다.
<?php // 定义变量并设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = test_input($_POST["email"]); } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "Gender is required"; } else { $gender = test_input($_POST["gender"]); } } ?>
PHP - 오류 메시지 표시
HTML 양식에서는 요청된 각 필드 뒤에 추가합니다. 스크립트. 필요한 경우 적절한 오류 메시지가 생성됩니다(사용자가 필수 필드를 입력하지 않고 양식을 제출하려고 하면):
Instance
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> E-mail: <input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> Website: <input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> <label>Comment: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> Gender: <input type="radio" name="gender" value="female">Female <input type="radio" name="gender" value="male">Male <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form>
<!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php // 定义变量并设置为空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "姓名是必填的"; } else { $name = test_input($_POST["name"]); } if (empty($_POST["email"])) { $emailErr = "电邮是必填的"; } else { $email = test_input($_POST["email"]); } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "性别是必选的"; } else { $gender = test_input($_POST["gender"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> <h2>PHP 验证实例</h2> <p><span class="error">* 必需的字段</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 姓名:<input type="text" name="name"> <span class="error">* <?php echo $nameErr;?></span> <br><br> 电邮:<input type="text" name="email"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 网址:<input type="text" name="website"> <span class="error"><?php echo $websiteErr;?></span> <br><br> 评论:<textarea name="comment" rows="5" cols="40"></textarea> <br><br> 性别: <input type="radio" name="gender" value="female">女性 <input type="radio" name="gender" value="male">男性 <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="提交"> </form> <?php echo "<h2>您的输入:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>
PHP 검증 예시
* 필수 필드
이름: * >웹사이트:
댓글:
성별: 여 남
입력: