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

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

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

آموزش PHP – حفظ مقادیر فرم

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

حفظ مقادیر فرم در PHP

زمانی که کاربر، مقادیر فیلدهای فرم را تنظیم و روی دکمه submit کلیک می کند، تمام فیلدها، مقادیرشان را از دست می دهند. حالا تصور نمایید که کاربر، در ورود اطلاعات یک فیلد (مثلاً فیلد “ایمیل”) خطایی داشته باشد، بنابراین باید از ابتدا شروع به وارد کردن اطلاعات کند…!

بمنظور حفظ مقادیر فیلدهای فرم، برای فیلدهای متنی، باید یک کد PHP کوچک در خصوصیت value تگ <input> قرار دهیم. همچنین برای عنصر <textarea> باید کد PHP را بین تگ های باز و بسته <textarea> و </textarea> قرار دهیم. این قطعه کدها، مقادیر متغییرهای name, $email, $website, $comment$ را نمایش می دهند.

سپس، در مورد فیلد “جنسیت” باید مشخص کنیم که کدام گزینه انتخاب شده است. بنابراین باید خصوصیت ckecked آنرا دستکاری کنیم (نه خصوصیت value):

نام: <input type=”text” name=”name” value=”<?php echo $name;?>”>

ایمیل: <input type=”text” name=”email” value=”<?php echo $email;?>”>

وب سایت: <input type=”text” name=”website” value=”<?php echo $website;?>”>

توضیحات: <textarea name=”comment” rows=”5″ cols=”40″><?php echo $comment;?></textarea>

جنسیت:
<input type=”radio” name=”gender”
<?php if (isset($gender) && $gender==”female”) echo “checked”;?>
value=”female”>زن
<input type=”radio” name=”gender”
<?php if (isset($gender) && $gender==”male”) echo “checked”;?>
value=”male”>مرد

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

در زیر، کد تکمیل شده اعتبارسنجی فرم در 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” value=”<?php echo $name;?>”>
<span class=”error”>*</span>
</div>
<div>
<span>ایمیل:</span><input type=”text” name=”email” value=”<?php echo $email;?>”>
<span class=”error”>*</span>
</div>
<div>
<span>وب سایت:</span>
<input type=”text” name=”website” value=”<?php echo $website;?>”>
<span class=”error”></span>
</div>
<div>
<span>توضیحات:</span><textarea name=”comment” rows=”5″ cols=”40″>
<?php echo $comment;?>
</textarea>
<span class=”error”>*</span>
</div>
<div>
<span>جنسیت:</span>
<input type=”radio” name=”gender” value=”female” <?php if (isset($gender) && $gender==”female”) echo “checked”;?> >زن
<input type=”radio” name=”gender” value=”male” <?php if (isset($gender) && $gender==”male”) echo “checked”;?> >مرد
</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

 

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

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

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

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

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

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

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

نظری بدهید

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