PHP Xác thực biểu mẫu - Xác thực E-mail và URL

Phần này trình bày cách kiểm tra tên, email và URL.

PHP - Kiểm tra tên

Mã sau đây hiển thị phương pháp đơn giản kiểm tra trường name có chứa chữ cái và khoảng trống không. Nếu trường name không hợp lệ, sẽ lưu lại thông báo lỗi:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Chỉ cho phép chữ cái và khoảng trống!"; 
}

Chú thích:Hàm preg_match() tìm kiếm mẫu trong chuỗi, nếu mẫu tồn tại thì trả về true, nếu không tồn tại thì trả về false.

PHP - Kiểm tra E-mail

Mã sau đây hiển thị phương pháp đơn giản kiểm tra ngữ pháp địa chỉ email có hợp lệ không. Nếu không hợp lệ, sẽ lưu lại thông báo lỗi:

$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
  $emailErr = "Định dạng email không hợp lệ!"; 
}

PHP - Kiểm tra URL

Mã sau đây hiển thị phương pháp kiểm tra ngữ pháp địa chỉ URL có hợp lệ không (chuỗi biểu thức chính quy này cũng cho phép dấu gạch chéo trong URL). Nếu địa chỉ URL không hợp lệ, sẽ lưu lại thông báo lỗi:

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

PHP - Kiểm tra Name, E-mail và URL

Hiện tại, đoạn mã của bạn như sau:

Mô hình

<?php
// Định nghĩa biến và đặt giá trị rỗng
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Tên là bắt buộc";
  }
    $name = test_input($_POST["name"]);
    // Kiểm tra tên có chứa chữ cái và khoảng trống không
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Chỉ cho phép chữ cái và khoảng trống"; 
    }
  }
  if (empty($_POST["email"])) {
    $emailErr = "Email là bắt buộc";
  }
    $email = test_input($_POST["email"]);
    // Kiểm tra địa chỉ email có hợp lệ không
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
      $emailErr = "Invalid email format"; 
    }
  }
  if (empty($_POST["website"])) {
    $website = "";
  }
    $website = test_input($_POST["website"]);
    // Kiểm tra địa chỉ URL ngôn ngữ có hợp lệ không (bức xúc này cũng cho phép dấu gạch dưới trong URL)
    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"]);
  }
}
?>

Chạy ví dụ

Tiếp theo, tôi sẽ giải thích cách防止 biểu mẫu xóa tất cả các trường nhập sau khi người dùng gửi biểu mẫu.