کنترل وارد نمودن اطلاعات اجباری توسط کاربر در فرم های PHP
در راهکار قبلی ، با نحوه طراحی یک فرم ساده HTML آشنا شدید . اما فرم قبلی بسیار ساده و بدون هیچ امکاناتی بود . یکی از ایرادات فرم قبل این بود که کاربر می توانست حتی بدون وارد کردن داده های لازم در فیلد های فرم ، آن را ارسال یا Submit نماید.
به عبارت دیگر کاربر اجباری به پر کردن فیلدهای داده ای نداشت . اما در اکثر اوقات شما نیاز دارید تا کاربر اطلاعاتی را حتما در فیلدهای داده ای وارد نماید . در اینجاست که باید از مکانیزمی استفاده نموده تا آنها را مجبور به وارد نمودن اطلاعات کرده و در غیر اینصورت پیام هشدار صادر می کند .
در این راهکار قصد داریم تا نحوه چک کردن مقادیر ورودی توسط کاربر در فیلدهای فرم و در صورت لازم ، اعلام پیام هشدار به وی را آموزش دهیم .
اعضای شبکه مشاوران در حوزه «برنامهنویسی، وب و امنیت سایبری»
فاطمه جعفری
مشاور توسعه جاوا و اپلیکیشن
اگر به یک رهبر توانمند برای تیم توسعه نرم افزار...
غزل شفیعی
مشاور برنامه نویسی PHP و توسعه لاراول
اگر به متخصصی باتجربه PHP و فریم ورک لاراول برای...
نگار جنابی
مدیر پروژه، مشاور و مالک محصول پروژههای ICT
اگر در توسعه UI/UX و مدیریت پروژههای ICT خود به...
ویدا رضایی
مشاور برنامه نویسی و طراحی وردپرس
اگر برای طراحی سایت وردپرسی خود به تجربیات و دانش...
سپیده گونجی
مشاور SEO ،UI/UX و بازاریابی دیجیتال
اگر قصد دارید در دنیای دیجیتال فعالیت کرده و در...
فرید تشیعی
متخصص، استراتژیست و مشاور سئو (SEO)
اگر در پیاده سازی، تعیین استراتژی، بوت کمپ یا مدیریت...
طاهره حسن زاده
تحلیلگر داده و مشاور یادگیریماشین و دیپ لرنینگ
اگر به مهارت های یک تحلیلگر داده با تجربه در...
احسان مهدوی
مشاور شبکه، نرم افزار و هوش مصنوعی
اگر به دنبال رفع چالشهای شبکه، نرمافزار و امنیت فضای...
مثال زیر یک فرم ثبت نام در 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 ExampleName: * 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”])) ?> |
نحوه نمایش پیام های هشدار در صورت خالی بودن فیلدهای اجباری در فرم :
در مرحله بعدی ، ما یک قطعه کد اسکریپت را پس از هر فیلد لازم و اجباری به صورت زیر اضافه کرده ، تا در صورت خالی گذاشته شدن آن فیلد توسط کاربر و Submit فرم ، پیام هشدار لازم را به وی اعلام نماید .
کد | <form method=”post” action=”<?php echo htmlspecialchars($_SERVER[“PHP_SELF”]);?>”>
Name: <input type=”text” name=”name”> </form> |
نکته : اگر هر فیلدی پر شود ، متغیر پیام خطای مربوط به آن خالی بوده و در نتیجه خروجی پیام خطا برای آن فیلد ، نخواهیم داشت . حال که توانستیم پرکردن فیلدهای اجباری توسط کاربر را کنترل نماییم ، باید به اعتبار سنجی داده های ورودی توسط کاربر بپردازیم . در مرحله بعد قصد داریم تا شما را با نحوه اعتبار سنجی اطلاعات ورودی توسط کاربر آشنا سازیم . برای مثال فرض کنید ، که کاربر بایستی در یک فیلد آدرس ایمیل وارد نماید . می خواهیم مکانیزمی طراحی کنیم تا بررسی کند ، آیا آدرس ایمیل وارد شده توسط کاربر دارای فرمت صحیح یک ایمیل است یا خیر . اگر ایمیل وارد شده ساختار صحیح نداشت ، به وی پیام هشدار می دهد .