PHP 양식 - 필수 입력 ...LOGIN

PHP 양식 - 필수 입력 사항

우리가 온라인에 접속할 때 일부 웹사이트에서 계정 등록을 요구한다는 사실을 알고 계셨는지 모르겠습니다. 계정을 등록할 때 우리가 갖고 있지 않은 중요한 정보가 있으면 입력해야 합니다. 작성해야 하는 사항을 알려드리겠습니다. 이번 장에서는 양식의 필수 필드와 오류 메시지에 대해 설명합니다.


PHP - 필수 항목

필수 항목은 정보 입력 시 반드시 입력해야 하는 항목으로, 그렇지 않으면 합격할 수 없습니다. ,

이전 장에서 양식의 유효성 검사 규칙을 소개했습니다. "이름", "이메일" 및 "성별" 필드는 필수 항목입니다. 필수 필드입니다.

필드
            字段         验证规则
    名字必须。 +只能包含字母和空格
    E-mail必须。 + 必须是一个有效的电子邮件地址(包含'@'和'.')
유효성 검사 규칙
    网址可选。如果存在,它必须包含一个有效的URL
    评论可选。 多行输入字段(文本域)
    性别必须。 必须选择一个
이름< /td>필수입니다. +문자와 공백만 포함할 수 있습니다<🎜>
이메일필수사항입니다. + 유효한 이메일 주소여야 합니다('@' 및 '.' 포함). <🎜>
<🎜>

이전 섹션에서는 유효성을 검사하지 않았기 때문에 모든 입력 필드가 선택 사항이었습니다.

다음 코드에는 $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 = "名字是必需的。";
     } 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"]);
     }
 }
 ?>

위 코드는 이름, 이메일, 성별 3가지 필수 항목을 아무것도 기재하지 않고 제출할 경우 이름은 필수, 이메일은 필수라는 해당 오류 메시지가 페이지에 표시된다는 것입니다. 비어 있지 않으면 확인이 통과되고 else 문의 내용이 실행됩니다.

그러나 위의 코드는 아직 오류 메시지를 표시할 수 없습니다. 아래를 살펴보자.


PHP - 오류 메시지 표시

다음 HTML 예제 양식에서는 각 필드에 대해 일부 스크립트를 추가했습니다. 각 스크립트는 정보가 잘못 입력되면 오류를 표시합니다. 정보. (사용자가 정보를 입력하지 않고 양식을 제출하면 오류 메시지가 출력됩니다.):

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>PHP中文网</title>
 </head>
 
 <style>
     .error {color: #FF0000;}
 </style>
 <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>

위의 예에서 내용을 입력하지 않고 *가 있는 입력란을 제출하면 다음 페이지가 표시됩니다.

2.png

합격하세요.


다음 단계는 입력 데이터를 검증하는 것입니다. 즉, "이름 필드에 문자와 공백만 포함되어 있습니까?", "이메일 필드에 유효한 이메일 주소 구문이 포함되어 있습니까?" 웹사이트 필드에 "이 필드에 유효한 URL이 포함되어 있습니까?"를 입력합니다.


다음 섹션
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文网</title> </head> <style> .error {color: #FF0000;} </style> <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>
코스웨어