فیلد های الزامی در php

فیلد های الزامی در php
فیلد های الزامی در php

آموزش طراحی سایت با پی اچ پی – فیلد های الزامی در php

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

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

فیلد های الزامی در php

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

برای طراحی آن مثال باید به صورت زیر عمل کرد :

 

نام فیلد اعتبارسنجی 
نام الزامی است. فقط حروف الفبا و خط فاصله را می پذیرد
ایمیل الزامی است. باید  حاوی فرمت صحیح ایمیل باشد (به همراه علامت @ و .)
وب سایت اختیاری است. در صورتی که پر شود باید فرمت url داشته باشد.
نظرات اختیاری است. می تواند شامل چندین خط متن باشد.
جنسیت الزامی است. یکی از موارد می تواند انتخاب شود.

 

در کد ذیل ، متغیرهای جدیدی با نام های nameErr$ و emailErr$ و genderErr$ و websiteErr$ اضافه شده اند . این متغیرهای خطا ، متن خطای مورد نظر شما را برای فیلدهای الزامی نگه می دارند. ما همچنین برای هر متغیر POST_$ یک دستور if ... else اضافه کرده ایم. این دستور شرطی، چک می کند که آیا متغیر POST_$ خالی است (با استفاده از تابع ()empty) در این صورت متن خطای مورد نظر را در متغیر مربوطه قرار می دهد ، و اگر خالی نباشد  مقدار برگشتی تابع ()test_input در متغیر مربوطه ی آن  ذخیره خواهد شد :

<?php
// تعریف متغیر ها و نسبت دادن مقدار تهی به آن ها
$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 (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}

if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}

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"]);
}
}
?>

 

نمایش متن خطا در PHP

در فرم HTML  باید یک اسکریپت PHP نیز اضافه کنید.

پس از هر فیلد اجباری نیاز است که کدهای زیر را تکرار نمایید تا پیغام خطای مناسب چاپ شود.

 

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</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"]);
}

if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}

if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}

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"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website: <input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

 

 

خروجی :

فیلد های الزامی در php

به پایان این قسمت از آموزش PHP رسیدیم. با ما در جلسات آینده همراه باشید.

منبع : w3schools

فیلم آموزشی asp.net core 2

نسرين ولی خانی
کارشناسي نرم افزار علاقمند به برنامه نويسی

فیلم آموزشی asp.net core 2

1 نظر

یک پاسخ

  1. سلام
    چطور میشه یک فیلدی که رای شماره تلفن ساختیم رو آزاد بذاریم تا کاربر مثلا با +98 dh بدون اون یا به هر شکل دیگه ای که میخواد شماره رووارد کنه؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=