اعتبارسنجی ایمیل

اعتبارسنجی ایمیل

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


اعتبارسنجی فیلد “نام” در 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 به لینک آموزش PHP-فیلتر ورودی ها مراجعه نمایید.

$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>

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



اگه خوشت اومد به اشتراک بزار


اگه به اشتراک نزاشتی حداقل لایک کن:(

نظر شما در رابطه با این آموزش چیست


بالا

تمامی حقوق مادی و معنوی این وبسایت محفوظ میباشد و متعلق است به Webtekar.ir.
Google