فرم‌ها - ارزیابی آدرس ایمیل و آدرس سایت

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Php-menu.png
موارد آموزشی
فرم‌ها در PHP
۱مدیریت فرم
۲ارزیابی فرم
۳فیلدهای اجباری فرم
۴ارزیابی URL/E-mail
۵فرم کامل
PHP پیشرفته
شیء گرایی در PHP
پایگاه داده MySQL
XML در PHP
AJAX در PHP
مثال‌های PHP
مرجع PHP

این فصل به شما نشان می‌دهد که چگونه نام‌ها، ایمیل‌ها و آدرس‌های وب‌سایت‌ها (به انگلیسی: URL) را ارزیابی کنید. [۱]

PHP - ارزیابی نام

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

1 $name = test_input($_POST["name"]);
2 if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
3   $nameErr = "Only letters and white space allowed";
4 }
تابع preg_match() یک داده رشته‌ای متنی را با الگویی تطبیق می‌دهد، در صورتی که داده با الگو تطبیق داشته باشد مقدار true، و در غیر اینصورت مقدار false را برمی‌گرداند.

PHP - ارزیابی آدرس ایمیل

ساده‌ترین و امن‌ترین روش برای بررسی اینکه یک آدرس ایمیل معتبر است یا نه استفاده از تابع filter_var() در PHP است.

در کد زیر، اگر آدرس ایمیل معتبر نباشد، سپس یک پیغام خطا ذخیره می‌گردد:

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

PHP - ارزیابی آدرس وب‌سایت (به انگلیسی: URL)

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

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

PHP - ارزیابی نام، آدرس ایمیل و آدرس سایت

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

مثال

 1 <?php
 2 // define variables and set to empty values
 3 $nameErr = $emailErr = $genderErr = $websiteErr = "";
 4 $name = $email = $gender = $comment = $website = "";
 5 
 6 if ($_SERVER["REQUEST_METHOD"] == "POST") {
 7   if (empty($_POST["name"])) {
 8     $nameErr = "Name is required";
 9   } else {
10     $name = test_input($_POST["name"]);
11     // check if name only contains letters and whitespace
12     if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
13       $nameErr = "Only letters and white space allowed";
14     }
15   }
16 
17   if (empty($_POST["email"])) {
18     $emailErr = "Email is required";
19   } else {
20     $email = test_input($_POST["email"]);
21     // check if e-mail address is well-formed
22     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
23       $emailErr = "Invalid email format";
24     }
25   }
26 
27   if (empty($_POST["website"])) {
28     $website = "";
29   } else {
30     $website = test_input($_POST["website"]);
31     // check if URL address syntax is valid (this regular expression also allows dashes in the URL)
32     if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
33       $websiteErr = "Invalid URL";
34     }
35   }
36 
37   if (empty($_POST["comment"])) {
38     $comment = "";
39   } else {
40     $comment = test_input($_POST["comment"]);
41   }
42 
43   if (empty($_POST["gender"])) {
44     $genderErr = "Gender is required";
45   } else {
46     $gender = test_input($_POST["gender"]);
47   }
48 }
49 ?>


مشاهدهٔ نتیجه


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


منابع آموزشی