PHP 형식 검증 - 필수 필드
- 이전 페이지 PHP 양식 검증
- 다음 페이지 PHP 양식 URL/E-mail
이 장에서는 필수 입력 필드를 만들고 필요할 때 사용할 오류 메시지를 생성하는 방법을 설명합니다.
PHP - 입력 필드
이전 검증 규칙에서 "이름", "이메일" 및 "성별" 필드가 필수 항목임을 볼 수 있습니다. 이 필드는 비어 있을 수 없으며 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 = "이름이 필요합니다"; } 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> 이메일: <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> <label>댓글: <textarea name="comment" rows="5" cols="40"></textarea></label> <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>
다음은 입력 데이터의 검증입니다. 즉, 'Name 필드가 문자와 공백만 포함하고 있는지 확인하세요?' 그리고 'E-mail 필드가 유효한 이메일 주소 문법을 포함하고 있는지 확인하세요?' 그리고 Website 필드를 입력하면, '이 필드가 유효한 URL을 포함하고 있는지 확인하세요?'
- 이전 페이지 PHP 양식 검증
- 다음 페이지 PHP 양식 URL/E-mail