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