keyboard_return  چسبون مقالات آموزشی اعتبارسنجی فرم در PHP- قسمت دوم
  1. اعتبارسنجی فرم در PHP- قسمت دوم

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

phpformvalidationpart2

مرحله اول تعریف متغیر هایی برای نمایش پیغام های خطای مناسب می باشد

nameErr پیغام خطای مربوط به فیلد نام

emailErr پیغام خطای مربوط به فیلد ایمیل

websiteErr پیغام خطای مربوط به آدرس وب سایت

genderErr پیغام خطای مربوط به انتخاب جنسیت

این متغیر ها متن خطای مورد نظر را برای فیلدهای متناظر خود نگه می دارند. قبل از هر چیز مقدار متغیرها رو تهی قرار می دهیم.

$nameErr=$emailErr= $siteErr= $genderErr="";

حالا باید مقادیر وارد شده را با استفاده از دستورات شرطی بررسی کنیم

if(empty($_POST["name"])){
		$nameErr = "نام کاربری را وارد نمایید.";
	} else {
		$name = check_it($_POST["name"]);
		if(!preg_match("/^[a-zA-Z\s]*$/", $name)){
			$nameErr = "فقط مجاز به استفاده از حروف و فاصله می باشید.";
		}
	}

در صورتیکه نام کاربری خالی باشد مقدار متغیر با عبارت "نام کاربری را وارد نمایید" پر خواهد شد در غیر اینصورت مقدار وارد شده توسط تابع ()check_it بررسی می شود. با استفاده از تابع preg_match می توان عبارت خاصی را در یک متغیر جستجو کرد مقدار خروجی تابع از نوع بولی بوده و true یا false را بر می گرداند. در این مثال با استفاده از این رشته بررسی می کنیم که مقدار وارد شده برای نام فقط حروف الفبا شامل حروف کوچک و بزرگ و فاصله خالی باشد (نام نمی تواند شامل عدد و یا کاراکتر های خاص باشد). آدرس ایمیل وارد شده نیز باید دارای استاندارد و فرمت صحیح باشد برای بررسی فرمت ایمیل وارد شده نیز از تابع preg_match به صورت زیر استفاده می کنیم

if(empty($_POST["email"])){
		$emailErr = "ایمیل خود را وارد نمایید";
	} else {
		$email = check_it($_POST["email"]);
		if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)){
			$emailErr = "آدرس ایمیل وارد شده معتبر نمی باشد.";
		}
	}

به این معنا که رشته وارد شده باید شامل یک نام کاربری و در ادامه شامل علامت @ و در انتها شامل دامنه باشد مانند ([email protected]) در غیر اینصورت پیغام "آدرس ایمیل وارد شده معتبر نمی باشد" نمایش داده خواهد شد. همچنین بمنظور بررسی صحت آدرس وب سایت وارد شده نیز از دستور زیر استفاده می شود

if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)){
  		$websiteErr = "آدرس وارد شده معتبر نمی باشد.";
  	}

خب پس از بررسی لازم نوبت به نمایش پیغام خطا در محل مناسب میرسه

نام: <input type="text" name="name">
  <span class="Err">* <?php echo $nameErr; ?></span>

خب ما از تگ span برای نمایش پیغام خطا استفاده کردیم و با استفاده از تابع echo متن مورد نظر رو نمایش می دیدم. دقت کنین در صورتیکه عبارت وارد شده صحیح باشه مقدار خطا برابر رشته تهی بوده و خطایی نمایش داده نمیشه. پس از کلیک بر روی دکمه ثبت اطلاعات درون فرم پردازش شده و پیغام های مناسب نمایش داده خواهد شد. همچنین مقادیر داخل فیلدها نیز خالی میشود تا مقدار جدید را وارد نمایید. در صورتیکه بخواهید متن درون فیلدها پس از زدن دکمه ثبت همچنان باقی بماند تا در صورت نیاز کاربر آنها را ویرایش کند کافیست مقدار value تگ های input را با استفاده از php مقدار دهی کنید

نام: <input type="text" name="name" value="<?php echo "$name"; ?>">
  <span class="Err">* <?php echo $nameErr; ?></span>

همچنین برای ثابت ماندن مقدار فیلد جنسیت (radio button) نیز می توانید از کد زیر استفاده کنید

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

خب خسته نباشید آموزش امروزمون به پایان رسید امیدوارم از این آموزش استفاده کرده باشید جهت دانلود فایل پروژه کلیک کنید

اعتبارسنجی فرم در PHP- قسمت دوم - 4.2 از 5 بر اساس 150 رای

امتیاز کاربران

اعتبارسنجی فرم در PHP- قسمت دوم
دیدگاه‌ها

دیدگاهی وجود ندارد

2024 © Copyright کليه حقوق مادی و معنوی براي چسبون محفوظ است و هرگونه کپی برداری پیگرد قانونی دارد.