PHP form validation

PHP form validation

PHP giá trị bắt buộc nhập (form require)

  • Ứng với mỗi thành phần của form ta sử dụng if(empty($_POST["giá_trị_name"])) (hoặc GET), để xác định $_POST có nội dung hay chưa?, nếu chưa có nội dung thì xuất hiện câu thông báo tương ứng, nếu đã được điền thì cho qua.
  • Sử dụng if ($_SERVER["REQUEST_METHOD"] == "POST") (hoặc GET) để kiểm tra có tồn tại phương thức POST (hoặc GET) hay không.

Cách dùng

<form action="" method="post">
    Họ tên: <input type="text" name="fullname" value="">
    <button type="submit">Gửi</button>
</form>
<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if(empty($_POST["fullname"])) {
        echo "<span style='color:red;'>Error: Họ tên cần phải điền</span>";
    } else {
        echo $_POST["fullname"];
    }
}
?>
Họ tên:

Xem ví dụ.

PHP validate name

  • Validate name sau đây sẽ kiểm tra tên chỉ chứa chữ và khoảng trắng.

Cách dùng

<form action="" method="post">
    Họ tên: <input type="text" name="fullname" value="">
    <button type="submit">Gửi</button>
</form>
<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST["fullname"])) {
        echo "<span style='color:red;'>Error: Họ tên bắt buộc phải nhập.</span>";
    } else {
        $fullname = $_POST["fullname"];
        if(!preg_match("/^[a-zA-Z ]*$/",$fullname)) {
            echo "<span style='color:red;'>Error: Họ tên chỉ chấp nhận chữ và khoảng trắng.</span>";
        } else {
            echo $fullname;
        }
    }
}
?>
Họ tên:

Kiểm tra tên có được nhập hay không? nếu không sẽ báo lỗi Error: Họ tên bắt buộc phải nhập., nếu đã nhập thì bắt đầu kiểm tra tên chỉ chấp nhận chữ và khoảng trắng.

Xem ví dụ.

PHP validate email

  • Validate email, sử dụng hàm lọc có sẵn trong PHP FILTER_VALIDATE_EMAIL.

Cách dùng

<form action="" method="post">
    Email: <input type="email" name="email" value="">
    <button type="submit">Gửi</button>
</form>
<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST["email"])) {
        echo "<span style='color:red;'>Error: Email bắt buộc phải nhập.</span>";
    } else {
        $email = $_POST["email"];
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            echo "<span style='color:red;'>Error: Email nhập chưa đúng.</span>";
        } else {
            echo $email;
        }
    }
}
?>
Email:

Ví dụ giá trị email đúng: [email protected]

Kiểm tra email có được nhập hay không? nếu không sẽ báo lỗi Error: Email bắt buộc phải nhập., nếu đã nhập thì bắt đầu kiểm tra email.

Xem ví dụ.

PHP validate URL

Cách dùng

<form action="" method="post">
    URL: <input type="text" name="path" value="">
    <button type="submit">Gửi</button>
</form>
<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST["path"])) {
        echo "<span style='color:red;'>Error: URL bắt buộc phải nhập.</span>";
    } else {
        $path = $_POST["path"];
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$path)) {
            echo "<span style='color:red;'>Error: URL nhập chưa đúng.</span>";
        } else {
            echo $path;
        }
    }
}
?>
URL:

Ví dụ giá trị URL đúng: http://hocwebchuan.com/reference/

Kiểm tra URL có được nhập hay không? nếu không sẽ báo lỗi Error: URL bắt buộc phải nhập., nếu đã nhập thì bắt đầu kiểm tra URL.

Xem ví dụ.

PHP validate tổng hợp

Cách dùng

<?php 
// Khai báo giá trị ban đầu, nếu không form sẽ báo lỗi.
$fullname = $email = $path = "";
$error_fullname = $error_email = $error_path = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST["fullname"])) {
        $error_fullname = "<span style='color:red;'>Error: Họ tên bắt buộc phải nhập.</span>";
    } else {
        $fullname = $_POST["fullname"];
        if(!preg_match("/^[a-zA-Z ]*$/",$fullname)) {
        $error_fullname = "<span style='color:red;'>Error: Họ tên chỉ chấp nhận chữ và khoảng trắng.</span>";
        } else {
            echo $fullname;
        }
    }

    if (empty($_POST["email"])) {
        $error_email = "<span style='color:red;'>Error: Email bắt buộc phải nhập.</span>";
    } else {
        $email = $_POST["email"];
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $error_email = "<span style='color:red;'>Error: Email nhập chưa đúng.</span>";
        } else {
            echo $email;
        }
    }

    if (empty($_POST["path"])) {
        $error_path = "<span style='color:red;'>Error: URL bắt buộc phải nhập.</span>";
    } else {
        $path = $_POST["path"];
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$path)) {
            $error_path = "<span style='color:red;'>Error: URL nhập chưa đúng.</span>";
        } else {
            echo $path;
        }
    }
}
?>

<form action="" method="post">
    <p>Họ tên: <input type="text" name="fullname" value=""> <?php echo $error_fullname; ?></p>
    <p>Email: <input type="email" name="email" value=""> <?php echo $error_email; ?></p>
    <p>URL: <input type="text" name="path" value=""> <?php echo $error_path; ?></p>
    <button type="submit">Gửi</button>
</form>

Họ tên:

Email:

URL:

Xem ví dụ.

Download file ví dụ