/ در آموزش پی اچ پی, آموزش ها, اشتراک رایگان / توسط
آخرین زمان ویرایش:

آموزش PHP (پی اچ پی) – قسمت بیست و دوم

در ادامه مطلب همراه ما باشید

آموزش  PHP – اعتبارسنجی ایمیل

در این آموزش، نحوه ی اعتبارسنجی فیلدهای “نام”، “ایمیل” و “وب سایت” نشان داده خواهد شد.

اعتبارسنجی فیلد “نام” در PHP

کد زیر، یک روش ساده برای چک کردن اینکه آیا فیلد “نام” معتبر است یا نه را نشان می دهد. (فیلد نام فقط شامل حروف و خط فاصله است)

اگر فیلد “نام” معتبر نباشد، در متغییر nameErr$ یک متن مناسب، تنظیم می شود:

$name = test_input($_POST[“name”]);
if (!preg_match(“/^[a-zA-Z ]*$/”,$name))
{
$nameErr = “فیلد نام فقط شامل حروف و خط فاصله است”;
}

 

تابع ()preg_match
با استفاده از تابع ()preg_match، می توانید یک الگوی خاص را در یک رشته جستجو کنید. اگر الگوی مورد نظر در رشته وجود داشت مقدار true و اگر وجود نداشت مقدار false را برمی گرداند.

اعتبارسنجی فیلد “ایمیل” در PHP

روش اول: استفاده از تابع ()preg_match

کد زیر، یک روش ساده برای چک کردن اینکه آیا فیلد “ایمیل” معتبر است یا نه را نشان می دهد. (باید شامل فرمت صحیح ایمیل باشد، همراه با علامت @ و .)

اگر فیلد “ایمیل” معتبر نباشد، در متغییر emailErr$ یک متن مناسب، تنظیم می شود:

$email = test_input($_POST[“email”]);
if (!preg_match(“/([w-]+@[w-]+.[w-]+)/”,$email))
{
$emailErr = “فرمت فیلد ایمیل صحیح نیست”;
}

روش دوم: استفاده از تابع ()filter_var

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

$email = test_input($_POST[“email”]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr =”فرمت فیلد ایمیل صحیح نیست”;
}

در این آموزش، از روش اول یعنی تابع ()preg_match استفاده شده است.

اعتبارسنجی فیلد “وب سایت” در PHP

کد زیر، یک روش ساده برای چک کردن اینکه آیا فیلد “وب سایت” معتبر است یا نه را نشان می دهد. (باید شامل فرمت صحیح URL باشد، همچنین عبارت منظم زیر اجازه می دهد که در URL علامت dash “-” نیز استفاده شود)

اگر فیلد “وب سایت” معتبر نباشد، در متغییر websiteErr$ یک متن مناسب، تنظیم می شود:

$website = test_input($_POST[“website”]);
if (!preg_match(“/b(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i”,$website))
{
$websiteErr = “فرمت فیلد وب سایت صحیح نیست”;
}

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

تا اینجا، اسکریپت مان شبیه زیر شده است:

مثال

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
span{min-width: 200px;float: right;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$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”]);
// check if name only contains letters and whitespace
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”]);
// check if e-mail address syntax is valid
if (!preg_match(“/([w-]+@[w-]+.[w-]+)/”,$email))
{
$emailErr = “Invalid email format”;
}
}

if (empty($_POST[“website”]))
{$website = “”;}
else
{
$website = test_input($_POST[“website”]);
// check if URL address syntax is valid (this regular expression also allows dashes in the 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”]) || $_GET[“gender”]==”undefined”)
{$genderErr = “Gender is required”;}
else
{$gender = test_input($_POST[“gender”]);}
}

function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>مثال اعتبارسنجی فرم ها در PHP</h2>
<form method=”post” action=”<?php echo htmlspecialchars($_SERVER[“PHP_SELF”]);?>”>
<div>
<span>نام:</span><input type=”text” name=”name”>
<span class=”error”>*</span>
</div>
<div>
<span>ایمیل:</span><input type=”text” name=”email”>
<span class=”error”>*</span>
</div>
<div>
<span>وب سایت:</span><input type=”text” name=”website”>
<span class=”error”></span>
</div>
<div>
<span>توضیحات:</span><textarea name=”comment” rows=”5″ cols=”40″></textarea>
<span class=”error”>*</span>
</div>
<div>
<span>جنسیت:</span>
<input type=”radio” name=”gender” value=”female”>زن
<input type=”radio” name=”gender” value=”male”>مرد
</div>
</div><input type=”submit” name=”submit” value=”ارسال اطلاعات”></div>
</form>

<?php
if ($nameErr!=”” || $emailErr!=”” || $genderErr!=”” || $websiteErr!=””)
echo “<span style=’color:red’ >
$nameErr <br /> $emailErr <br /> $genderErr <br /> $websiteErr
</span>”;
else
{
echo “<br /><h2>خروجی کدتان</h2>”;
echo “نام :$name”;
echo “<br />”;
echo “ایمیل: $email”;
echo “<br />”;
echo “وب سایت: $website”;
echo “<br />”;
echo “توضیحات: $comment”;
echo “<br />”;
echo “جنسیت: $gender”;
?>
}
</body>
</html>

 

خروجی کد بالا:

 

مثال اعتبارسنجی فرم ها در PHP

نام:
*
ایمیل:
*
وب سایت:
توضیحات:
*
جنسیت:
زن
مرد

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

نوشته های مشابه

آموزش PHP (پی اچ پی) – قسمت بیست و یکم

در ادامه مطلب همراه ما باشید (بیشتر…)

آموزش PHP (پی اچ پی) – قسمت بیست و سوم

در ادامه مطلب همراه ما باشید (بیشتر…)

 کانال تلگرام داده باران شارژ آنلاین

نظری بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *