به کمک نیاز دارید؟

خدمات تخصصی

جستجو
این کادر جستجو را ببندید.
اطلاعات اجباری

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

برای کنترل وارد کردن اطلاعات اجباری توسط کاربر در فرم‌های PHP، می‌توان از روش‌های مختلفی استفاده کرد. این روش‌ها شامل اعتبار سنجی سمت سرور و همچنین استفاده از توابع PHP برای بررسی مقادیر ورودی هستند.

در راهکار قبلی ، با نحوه طراحی یک فرم ساده HTML آشنا شدید. اما فرم قبلی بسیار ساده و بدون هیچ امکاناتی بود. یکی از ایرادات فرم قبل این بود که کاربر می توانست حتی بدون وارد کردن داده های لازم در فیلد های فرم ، آن را ارسال یا Submit نماید.

به عبارت دیگر کاربر اجباری به پر کردن فیلدهای داده ای نداشت . اما در اکثر اوقات شما نیاز دارید تا کاربر اطلاعات اجباری را حتما در فیلدهای داده ای وارد نماید. در اینجاست که باید از مکانیزمی استفاده نموده تا آنها را مجبور به وارد نمودن اطلاعات کرده و در غیر اینصورت پیام هشدار صادر می کند.

 

حتما بخوانید: مرجع توابع کار با HTTP در PHP

 

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

مثال زیر یک فرم ثبت نام در PHP را نشان می دهد ، که در آن چندین فیلد برای وارد نمودن داده ها ، یک دکمه رادیویی جهت تعیین جنسیت و یک دکمه برای ارسال یا Submit فرم قرار دارد .

در این فرم ، همانطور که در جدول معرفی انواع فیلدهای آن نشان داده شده ، وارد نمودن مقدار برای فیلدهای ” Name ” و ” E-mail ” و همچنین انتخاب یک گزینه از جنسیت اجباری است . اما سایر فیلدها می توانند به دلخواه کاربر پر شده یا خالی رها شوند .
به فرم زیر و جدول فیلدهای آن دقت نمایید :

کد <form method=”post” action=”/php/demo_form_validation_complete.php”>
Name:  <input type=”text” name=”name” value=””>
<span class=”error”>* </span>
<br>
E-mail: <input type=”text” name=”email” value=””>
<span class=”error”>* </span>
<br>
Website: <input type=”text” name=”website” value=””>
<span class=”error”></span>
<br>
Comment: <textarea name=”comment” rows=”5″ cols=”40″></textarea>
<br>
Gender: <input type=”radio” name=”gender” value=”female”>Female
<input type=”radio” name=”gender” value=”male”>Male <span class=”error”>* </span>
<br>
   <input type=”submit” name=”submit” value=”Submit”>
</form>
خروجی

PHP Form Example

Name: *

E-mail: *

Website:

Comment:

Gender: Female Male *

نحوه طراحی کد لازم جهت چک نمودن ورودی های کاربر :

کد زیر عملیات چک کردن ورودی های لازم در فیلدهای مورد نظر را انجام داده و در صورت وارد نکردن هر کدام ، یک پیام هشدار صادر می کند .

برای این منظور در ابتدا 4 متغیر NameErr$ و genderErr$ و EmailErr$ و WebsiteErr$ را تعریف کرده ایم . این متغیرها ، برای دریافت و نمایش پیام های هشدار در صورت خالی بودن هر کدام از اطلاعات اجباری به کار می روند .

همچنین به ازای هر متغیر ارسال شده از سوی فرم توسط متد POST ، یک دستور شرطی if طراحی شده که مقدار متغیر را توسط ( ) 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

 

نحوه نمایش پیام های هشدار در صورت خالی بودن اطلاعات اجباری در فرم :

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

کد <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>

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

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

 

با دریافت « مشاوره برنامه‌نویسی، وب و سئو » از کارشناسان جوان حرفه‌ای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!

 

 و اما کلام آخر…

با پیروی از این مراحل و نکات، می‌توانید یک فرم با کنترل‌های اعتبار سنجی مؤثر ایجاد کنید که از ورود اطلاعات نادرست جلوگیری کند و تجربه کاربری بهتری را فراهم آورد.

تصویر دکتر علی قوامی
دکتر علی قوامی
دانش‌آموخته دکترای تخصصی (PhD) کارآفرینی فناوری، بنیانگذار و مدیر گروه بین‌المللی کسب و کار ساکوراد با بیش از ۲۰ سال تجربه بعنوان کوچ، مدرس، مشاور و منتور در حوزه‌های مختلف راه‌اندازی و توسعه کسب‌وکار در ۱۵ کشور جهان هستم. در تلاشم تا تجربیات ذی‌قیمت خود را با شما دوستان عزیزم به اشتراک گذارم.
پیشنهاد بر اساس سلیقه شما
دستور Create Index

دستور Create Index

دستور CREATE INDEX در SQL برای ایجاد ایندکس در ستون‌های جدول استفاده می‌شود. ایندکس‌ها به منظور بهبود سرعت جستجو و بازیابی داده‌ها طراحی شده‌اند و می‌توانند بر

ادامه مطلب »

مسیریابی تحصیلی - شغلی (آنلاین)

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

سئوالات و نظرات ارزشمند خود را با ما مطرح کنید

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

کلینیک مشاوره کسب و کار

ارائه‌ی خدمات کوچینگ، مشاوره و منتورینگ توسط برترین متخصصان جوان

هاست سنتر حرفه‌ای

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

کانال یوتیوب

آموزش‌ها و نکات کلیدی ما را دنبال کنید

کانال تلگرام

اخبار و تخفیفات گروهی ما را دنبال کنید

صفحه اینستاگرام

آموزش‌ها و تخفیفات گروهی ما را دنبال کنید

راهنمای گام به گام تا دریافت مشاوره

گام اول

انتخاب حوزه تخصصی مدنظر

گام دوم

بررسی رزومه مشاوران مرتبط

گام سوم

انتخاب مشاور با تخصص مدنظر

گام چهارم

تکمیل فرم و ثبت درخواست

گام پنجم

پرداخت حق‌الزحمه مشاور

گام ششم

تماس با شما برای تعیین وقت

گام هفتم

برقراری ارتباط شما با مشاور