최신 웹 개발 튜토리얼
 

PHP 5 개 양식 - 검증 전자 메일 및 URL


이 장에서는 이름, 전자 메일 및 URL을 확인하는 방법을 보여줍니다.


PHP - 유효성 검사 이름

아래 코드는 이름 필드는 문자와 공백이 포함되어 있는지 확인하는 간단한 방법을 보여줍니다. 이름 필드의 값이 유효하지 않은 경우, 오류 메시지를 저장 :

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Only letters and white space allowed";
}
노트 패턴이 존재하며, 그렇지 않은 경우는 false 경우는 preg_match () 함수는 true를 돌려 패턴 문자열을 검색합니다.

PHP - 검증의 E-mail

이메일 주소가 잘 형성되어 있는지 여부를 확인하는 가장 쉽고 안전한 방법은 PHP의 filter_var () 함수를 사용하는 것입니다.

전자 메일 주소가 잘 형성되어 있지 않은 경우 아래의 코드에서 다음 오류 메시지를 저장 :

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $emailErr = "Invalid email format";
}

PHP - URL 확인

아래의 코드는 URL 주소 구문이 유효한지 확인하는 방법을 보여줍니다 (this regular expression also allows dashes in the URL) . URL 주소의 구문이 유효하지 않은 경우, 다음 오류 메시지를 저장 :

$website = test_input($_POST["website"]) ;
if (! preg_match("/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
  $websiteErr = "Invalid URL";
}

PHP - 유효성 검사 이름, 전자 메일 및 URL

이제, 스크립트는 다음과 같습니다 :

<?php
// define variables and set to empty values
$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"]);
    // check if name only contains letters and whitespace
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Only letters and white space allowed";
    }
  }

  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    // check if e-mail address is well-formed
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }
  }

  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
    // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
      $websiteErr = "Invalid URL";
    }
  }

  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"]);
  }
}
?>
»실행 예

다음 단계는 사용자가 양식을 제출하면 모든 입력 필드를 비우는에서 양식을 방지하는 방법을 보여주는 것입니다.