اعتبارسنجی فرم (Form Validation)
بررسی صحت دادههای فرم — اعتبارسنجی نام، ایمیل، عدد و امنیت فرم
چرا اعتبارسنجی مهم است؟
اعتبارسنجی (Validation) بررسی میکند که دادههای واردشده توسط کاربر صحیح و امن هستند. بدون اعتبارسنجی، سایت شما در برابر حملات آسیبپذیر میشود.
انواع اعتبارسنجی
| نوع | توضیح |
|---|---|
| الزامی | فیلد نباید خالی باشد |
| ایمیل | فرمت ایمیل صحیح باشد |
| عدد | فقط عدد وارد شود |
| طول | حداقل/حداکثر کاراکتر |
| الگو | مطابقت با الگوی خاص (RegEx) |
بررسی فیلد الزامی
<?php
$name = $_POST["name"];
if (empty($name)) {
echo "نام الزامی است!";
} else {
echo "سلام $name!";
}
?>
اعتبارسنجی ایمیل
<?php
$email = $_POST["email"];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "ایمیل معتبر است.";
} else {
echo "ایمیل نامعتبر است!";
}
?>
بررسی طول رشته
<?php
$password = $_POST["password"];
if (strlen($password) < 8) {
echo "رمز باید حداقل ۸ کاراکتر باشد!";
}
?>
اعتبارسنجی عدد
<?php
$age = $_POST["age"];
if (!is_numeric($age) || $age < 0 || $age > 150) {
echo "سن نامعتبر است!";
}
?>
تابع اعتبارسنجی کامل
<?php
function validateForm($data) {
$errors = [];
// نام
if (empty($data["name"])) {
$errors[] = "نام الزامی است";
} elseif (strlen($data["name"]) < 3) {
$errors[] = "نام باید حداقل ۳ کاراکتر باشد";
}
// ایمیل
if (empty($data["email"])) {
$errors[] = "ایمیل الزامی است";
} elseif (!filter_var($data["email"], FILTER_VALIDATE_EMAIL)) {
$errors[] = "ایمیل نامعتبر است";
}
// سن
if (empty($data["age"])) {
$errors[] = "سن الزامی است";
} elseif (!is_numeric($data["age"]) || $data["age"] < 18) {
$errors[] = "سن باید حداقل ۱۸ باشد";
}
return $errors;
}
$errors = validateForm($_POST);
if (empty($errors)) {
echo "فرم معتبر است!";
} else {
foreach ($errors as $error) {
echo "خطا: $error<br>";
}
}
?>
این مبحث بخشی از دوره آموزش کامل PHP است.