07/09/2018, 14:33

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 ...

Ở 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("/(?:(?: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("/(?:(?: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đ:

  • Học lập trình front-end cơ bản với bootstrap 4/html5/css3
  • Học lập trình front-end nâng cao qua Project thực tế
  • Học thiết kế web với Photoshop, CSS theo kiểu SASS
  • Học cách sử dụng Git_hub cho lập trình viên
  • Học lập trình Back-end PHP theo mô hình MVC cơ bản
  • Học lập trình Back-end PHP theo mô hình MVC nâng cao
  • Học lập trình Cơ sở dữ liệu với AngularJS
  • Học lập trình theme wordpress. Làm ra mọi website hoàn chỉnh với wordpress
  • Combo lập trình front-end từ cơ bản – nâng cao
  • Combo lập trình back-end từ cơ bản đến nâng cao
  • Combo lập trình web với word press từ A-Z
0