PHP 양식 - 필수 입력 사항

PHP - 필수 필드

이전 장에서 테이블의 유효성 검사 규칙을 소개했는데, "이름", "이메일" 및 "성별" 필드가 필수라는 것을 알 수 있습니다. 각 필드는 비워둘 수 없습니다.

필드                                                                                       ~ + 문자와 공백만 포함할 수 있습니다.
이메일 필수입니다. + 유효한 이메일 주소를 포함해야 합니다("@" 및 "." 포함)

웹사이트      선택사항입니다. 있는 경우 유효한 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 = "名字是必需的。";
  } 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"]);
  }
}
?>

PHP - 오류 메시지 표시

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

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   名字: <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>
   网址: <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="Submit"> 
</form>

코드 보기 »

지속적인 학습
||
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>PHP</title>
<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"]);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~
图片放大关闭