Cách thức xác nhận Email và URL trong PHP

CHÀO MỪNG BẠN ĐẾN VỚI THƯ VIỆN HỌC TẬP & ĐÀO TẠO CƠ BẢN

Giới thiệu các mẫu trong PHP – Cách thức xác nhận Email và URL trong PHP

Ở chương trước, chúng ta đã tìm hiểu về cách thức xác nhận tên, email và URL. Trong bài này, chúng tôi sẽ giới thiệu cho các bạn về các mẫu trong PHP và cách thức xác nhận Email và URL trong PHP.


Xác nhận tên

Đoạn mã code dưới đây sẽ chỉ cho bạn thấy cách đơn giản để kiểm tra tên của bạn chỉ chưa chữ cái và khoảng trắng hay không? Nếu giá trị của thông tin cung cấp không chính xác, máy sẽ gửi thông báo lỗi về cho người dùng.

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Only letters and white space allowed"; 
}

Hàm preg_match() ở trên truyền vào 2 tham số:

Tham số đầu tiên là các kí tự để kiểm tra là từ a-z và từ A-Z,nếu các kí tự của biến $name ở tham số thứ 2 nằm trong khoảng a-z,A-Z thì nó sẽ trả về kết quả true ngược lại thì sẽ trả về kết quả false.

Hàm preg_match () so sánh từng kí tự của một chuỗi ở tham số 2 với  quy định bạn đưa ra (ví dụ là từ a-z, từ 0-9…) và trả về true nếu hợp lệ, và false nếu không hợp lệ.


Xác thực email

Cách nhanh nhất và đơn giản nhất để kiểm tra một địa chỉ email có hợp lệ hay không ta dùng hàm filter_var().

Xét đoạn mã code dưới đây, nếu địa chỉ email không hợp lệ, thông báo lỗi sẽ gửi về máy chủ.

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

Xác thực URL ( Xác thực Email và URL trong PHP)

Đoạn mã code dưới đây chỉ ra một cách để kiểm tra địa chỉ URL có hợp lệ hay không ( biểu thức này cho phép dấu gạch ngang chứa trong URL. Nếu cú pháp địa chỉ không hợp lệ, máy chủ sẽ gửi thông báo lỗi về cho người dùng.

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

Xác thực tên, Email và URL 

Bây giờ, các ký tự sẽ được biểu diễn dưới dạng sau: 

<?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"]);
  }
}
?>

 

Tham khảo thêm các khóa học lập trình web từ Front-end đến Back-end do trực tiếp giảng viên quốc tế trường FPT Arena giảng dạy giúp bạn thành thạo kỹ năng lập trình web từ CƠ BẢN – NÂNG CAO với giá chỉ từ 290,000đ: