PHP – اعتبارسنجی نام و ایمیل فرم‌ها (PHP Form Validate E-mail and URL)

اعتبارسنجی نام، ایمیل و URL در فرم‌های PHP

این فصل نشان می‌دهد که چگونه نام‌ها (names)، ایمیل‌ها (emails) و URL‌ها را اعتبارسنجی (validate) کنیم.

اعتبارسنجی نام در PHP (PHP - Validate Name)

کد زیر یک روش ساده برای بررسی این که آیا فیلد نام (name field) فقط شامل حروف، خط تیره، آپاستروف و فاصله است را نشان می‌دهد. اگر مقدار فیلد نام معتبر نباشد، یک پیام خطا ذخیره می‌شود:

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

تابع preg_match() یک رشته (string) را برای الگو (pattern) جستجو می‌کند و اگر الگو وجود داشته باشد، مقدار true و در غیر این صورت مقدار false برمی‌گرداند.

اعتبارسنجی ایمیل در PHP (PHP - Validate E-mail)

ساده‌ترین و امن‌ترین راه برای بررسی اینکه آیا یک آدرس ایمیل به درستی تشکیل شده است، استفاده از تابع filter_var() در PHP است. در کد زیر، اگر آدرس ایمیل به درستی تشکیل نشده باشد، یک پیام خطا ذخیره می‌شود:

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

اعتبارسنجی URL در PHP (PHP - Validate URL)

کد زیر یک روش برای بررسی این که آیا یک URL به درستی تشکیل شده است را نشان می‌دهد (این عبارت با قاعده (regular expression) همچنین به URL‌هایی که شامل خط تیره هستند، اجازه می‌دهد). اگر نحو (syntax) آدرس URL معتبر نباشد، یک پیام خطا ذخیره می‌شود:

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

اعتبارسنجی نام، ایمیل و URL در PHP (PHP - Validate Name, E-mail, and URL)

حالا، اسکریپت به شکل زیر است:

// تعریف متغیرها و تنظیم آنها به مقادیر خالی
$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"]);
    // بررسی کنید که آیا نام فقط شامل حروف و فاصله است
    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"]);
    // بررسی کنید که آیا آدرس ایمیل به درستی تشکیل شده است
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
      $emailErr = "Invalid email format";
    }
  }
  
  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
    // بررسی کنید که آیا نحو آدرس 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"]);
  }
}

گام بعدی این است که نحوه جلوگیری از خالی شدن تمام فیلدهای ورودی زمانی که کاربر فرم را ارسال می‌کند، را نشان دهیم.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.