이 장에서는 필수 양식 필드와 오류 메시지를 설정하는 방법을 소개합니다.
이전 장에서는 테이블에 대한 유효성 검사 규칙을 소개했습니다. "이름", "이메일" 및 "성별" 필드는 필수이며 각 필드는 비워둘 수 없습니다.
필드 | 검증 규칙 |
---|---|
이름 | 필수의. + 문자와 공백만 포함할 수 있습니다. |
이메일 | 필수의. + 유효한 이메일 주소를 포함해야 합니다("@" 및 "." 포함). |
URL | 선택 과목. 있는 경우 유효한 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["성별"]) }}?>
다음 HTML 예제 양식에서는 각 필드에 일부 스크립트를 추가했습니다. 정보가 잘못 입력되면 각 스크립트에 오류 메시지가 표시됩니다. (사용자가 정보를 입력하지 않고 양식을 제출하면 오류 메시지가 출력됩니다.)
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> 이름: <input type="text" name="name"> <span>* <? php echo $nameErr;?></span> <br><br> 이메일: <input type="text" name="email"> <span>* <?php echo $emailErr;?></span > <br><br> 웹사이트: <input type="text" name="website"> <span><?php echo $websiteErr;?></span> <br><br> 비고: <textarea name=" comment"row="5" cols="40"></textarea> <br><br> 성별: <input type="radio" name="gender" value="female">여성<input type="radio " 이름="성별" value="male">남성<span>* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </ 형태>