PHP Form Validation - Pagtsemo ng E-mail at URL

Ipinapakita ng Seksyon na ito kung paano mapatunayan ang pangalan, email, at URL.

PHP - Pagtsemo ng pangalan

Ang kodigo ng paraan na ipinapakita ay nagtsemo kung ang field ng name ay may mga titik at puwang. Kung ang field ng name ay hindi wasto, inilagay ang mensahe ng error:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Pinapayagan lamang ang mga titik at puwang!"; 
}

Komento:Ang function na preg_match() ay naghahanap ng pattern sa string, kung ang pattern ay umiiral ay ibabalik ang true, kung hindi ay ibabalik ang false.

PHP - Pagtsemo ng E-mail

Ang kodigo ng paraan na ipinapakita ay nagtsemo kung ang sintaks ng email address ay wasto. Kung ang sintaks ay hindi wasto, inilagay ang mensahe ng error:

$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
  $emailErr = "Hindi wastong format ng email"; 
}

PHP - Pagtsemo ng URL

Ang paraan ng kodigo na ipinapakita ay nagtsemo kung ang sintaks ng URL ay wasto (ang regular expression na ito ay pinapayagan ang slash sa URL). Kung ang sintaks ng URL ay hindi wasto, inilagay ang mensahe ng error:

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

PHP - Pagtsemo ng Name, E-mail, at URL

Ngayon, ang script ay ganito:

Mga halimbawa

<?php
// Itinalaga ang mga variable at naitala nila ang walang halagang pinagmulan
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Pangalan ay kinakailangan";
  }
    $name = test_input($_POST["name"]);
    // Tinitiyak na ang pangalan ay may mga titik at puwang
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Pinapayagan lamang ang mga titik at puwang"; 
    }
  }
  if (empty($_POST["email"])) {
    $emailErr = "Email ay kinakailangan";
  }
    $email = test_input($_POST["email"]);
    // Tinitiyak na ang email address ay mayroong wastong sintaks
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
      $emailErr = "Invalid email format"; 
    }
  }
  if (empty($_POST["website"])) {
    $website = "";
  }
    $website = test_input($_POST["website"]);
    // Check if the URL address language is valid (this regular expression also allows underscores in URLs)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%",
    =~_|]/i,$website)) {
      $websiteErr = "Invalid URL"; 
    }
  }
  if (empty($_POST["comment"])) {
    $comment = "";
  }
    $comment = test_input($_POST["comment"]);
  }
  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  }
    $gender = test_input($_POST["gender"]);
  }
}
?>

Run Example

Next, I will explain how to prevent the form from clearing all input fields after the user submits the form.