اعتبارسنجی ایمیل در PHP (به همراه ورودی های شهرستان و استان)

0 53

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

تابع filter_var چیست و در php چه کاربردی دارد؟

همانطوری که شما ملاحظه کرده اید، اگر کاربر (مشتری) ایمیل خود را به صورت صحیح در تگ input وارد نکند، این وظیفه ما است که تمهیدات لازم را بیاندیشیم و اخطار لازم را به کاربر در مورد وارد کردن ایمیل صحیح بدهیم.

مثلا کاربر با دادن یک ایمیل مثل lklkldn@jd قصد دارد که سیستم را دور بزند. برای اینکه از این اتفاق جلوگیری کنیم، از تابعی تحت عنوان filter_var استفاده خواهیم کرد. لازم به ذکر است که تابع filter_var، در مورد اعتبار سنجی url و ip و چند مورد دیگر نیز مورد استفاده قرار می گیرد.

ساختار کلی تابع filter_var به صورت زیر می باشد.

به جای “نوع اعتبارسنجی” می‌توانید یکی از مواردی که در جدول زیر آمده است را وارد کنید (دقت کنید که من در جدول زیر مهمترین ها و پرکاربرترین ها را برای شما آماده کرده ام):

نوع اعتبار سنجی توضیح
FILTER_VALIDATE_DOMAIN  همانطور که از نامش پیدا است برای اعتبار سنجی دامنه ها مورد استفاده قرار می گیرد
FILTER_VALIDATE_EMAIL اعتبار یک مقدار ایمیل را مورد بررسی قرار می دهد. به طور کلی، این آدرس های معتبر، آدرس ایمیلی هستند که در استاندارد RFC 822 آمده اند.
FILTER_VALIDATE_IP  ip هایی که از نوع IPv4 یا IPv6 را مورد اعتبارسنجی قرار می دهد.
FILTER_VALIDATE_URL  url هایی را که طبق استاندارد RFC 2396 باشد را تایید می کند. در استفاده از این المان بسیار دقت کنید، چون شرایط خاص خودش را دارد و در صورت استفاده نادرست، جواب اعتبار سنجی را اشتباه می دهد.

بنابراین با استفاده از نوع اعتبار سنجی می توانیم مطمئن شویم که مقدار یک متغیر به درستی وارد شده است یا خیر.

عملکرد تابع filter_var برای اعتبارسنجی ایمیل در PHP: در صورتی که مقدار وارد شده اعتبار سنجی گردد و با معیار مورد نظر مطابقت داشته باشد، تابع مقدار True و در غیر اینصورت مقدار False را بر می گرداند.

اعتبارسنجی ایمیل در PHP با تابع filter_var

همانطور که توضیح تابع filter_var را مشاهده کردید، ما باید از نوع اعتبار سنجی ایمیل در PHP استفاده نماییم. بنابراین ابتدا به آدرس C:\wamp\www\ecommerce\includes بروید و فایل server.php را با استفاده از Notepad++ باز کنید و کدهای زیر را در آن پیدا کنید.

آنها را پاک کنید و به جای آنها کدهای زیر را قرار دهید.

در مورد کدهای بالا توضیح خاصی نمی دهم، چون واضح هستند. اما در عمل برای درک عملکر تابع بالا، تصاویر زیر را با هم  نگاه کنیم.

اعتبارسنجی ایمیل در PHP با تابع filter_var

تصویر زیر مربوط به زمانی است که شما کادر ایمیل را خالی قرار داده و بر روی دکمه “ایجاد نام کاربری” فشار داده باشید.

پیغام خطا اعتبارسنجی ایمیل در PHP

همانطور که در تصویر بالا مشاهده می کنید، پیام “ایمیل خود را وارد کنید!” به نمایش در می آید. حالا کار دیگر انجام می دهیم و ایمیل را به صورت نادرستی وارد می کنیم، برای درک بهتر تصاویر زیر را با هم مشاهده نماییم.

ارسال ایمیل نادرست برای تست اعتبارسنجی ایمیل در PHP

همانطور که مشاهده می نمایید من ایمیل را به اشتباه “jahangirpachkam@gmail” وارد کردم و “.com” انتهایی را قرار نداده ام. واکنش سایت به این کار من را می توانید در تصویر زیر مشاهده نمایید.

پیام خطایی که به کاربر زمانی که ایمیل را به صورت نادرست وارد می کند، نمایش داده می شود

اعتبار سنجی ورودی های استان و شهرستان

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

خب، دوستان عزیز برای این دو ورودی کار زیادی نیاز نیست انجام بشه، چون ما مقدار ورودی را مشخص کردیم، فقط باید ببینیم که آیا این تگ های ورودی خالی هستند یا نه؟ برای انجام این کار، همانطور که در جلسات قبلی دید، از تابع empty استفاده می کنیم. بنابراین یکبار دیگر فایل server.php را با استفاده از Notepad++  باز و کدهای زیر را در آن پیدا کنید.

آنها را پاک کنید و کدهای زیر را به جای آنها قرار دهید.

خب کار تمام است، حالا به تست عملی کدهای بالا می پردازیم. برای این کار ابتدا به جز مقدار برای ورودی استان و شهرستان برای سایر ورودی ها (نام – نام خانوادگی – جنسیت – تصویر – ایمیل) مقدار درست را وارد می کنیم. نتیجه را می توانید در تصویر زیر مشاهده نمایید.

اعتبارسنجی استان و شهرستان در PHP

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

پیام خطایی به به کاربر نمایش داده می شود، زمانی که مقدار وردی شهر و یا استان را مشخص نمی کند

خب دوستان خسته نباشید، در ادامه موضوعی رو قصد دارم با شما در میان بگذارم که برای خود من خیلی مهم است.

چگونه به صورت اتوماتیک توسط Notepad++ کدهای خود را مرتب کنیم؟

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

تصور کنید، یک برنامه با 500 خط کد نوشته اید، مرتب کردن این حجم از کد واقعا سخت می باشد. اما نگران نباشید، Notepad++ به صورت اتوماتیک اینکار را برای ما انجام می دهد، اما چگونه؟

Notepad++  پلاگین های فراوآنی را برای برنامه نویسان تهیه کرده است، که در کد نویسی مورد استفاده قرار می گیرند. یکی از این پلاگین ها، پلاگین IndentByFold می باشد.

پلاگین IndentByFold  به راحتی کدهای نوشته شده را بر اساس سطح سلسله مراتبی مرتب می کند.

برای دیدن مراحل نصب آن و همچنین درک عملکرد آن تصاویر و مراحل زیر را دنبال کنید. ابتدا پلاگین IndentByFold را از آدرس زیر دانلود کنید.

دانلود پلاگین IndentByFold 

بعد مراحل تصویری زیر را با هم دنبال می کنیم. همانطور که مشاهده می نمایید در ابتدای کار پلاگین IndentByFold در بین پلاگین ها وجود ندارد.

آموزش نصب پلاگین IndentByFold در notepad

خب، حالا بعد از اینکه پلاگین IndentByFold را دانلود کردید، آن را به آدرس C:\Program Files\Notepad++\plugins منتقل کنید. به تصویر زیر نگاه کنید. چنانچه نرم افزار Notepad++ شما در درایو یا فولدر دیگری بود آن را پیدا کرده و پلاگین را در فولدر plugins قرار دهید.

انتقال پلاگین IndentByFold به فایل پلاگین ها

حالا برنامه Notepad++ را ببندید و مجددا باز کنید و به منوی Plugins می رویم. حالا باید پلاگین IndentByFold در این منو به نمایش در بیاید. به تصویر زیر نگاه کنید.

پس از نصب پلاگین

حالا وقت آن رسیده که با نحوی کار کردن با این پلاگین آشنا شوید. کار کردن با این پلاگین بسیار ساده است فرض کنید که کدهای ما در ابتدا نامرتب هستند. فقط کافی است از منو به مسیر Plugins–> Indent By Fold –> Reindent File بروید و بر روی Reindent File کلیک کنید، به تصویر زیر نگاه کنید.

قبل از استفاده از پلاگین IndentByFold

قبل از استفاده از پلاگین IndentByFold

بعد از استفاده از پلاگین IndentByFold

بعد از استفاده از پلاگین IndentByFold

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

در انتها، کدهای نهایی customer_register.php و server.php  را تا این مرحله از کار برای شما عزیزان قرار می دهم.

کدهای نهایی customer_register.php:

کدهای نهایی server.php:

به انتهای این قسمت از آموزش ساخت فروشگاه اینترنتی با PHP رسیدیم، انشاالله در قسمت آینده سایر تگهای ورودی باقی مانده را با همدیگر بررسی خواهیم کرد. در قسمتهای آینده مباحث بسیار مهمی ارئه می شود، آنها را از دست ندهید.

ترتیبی که روکسو برای یادگیری مطالب سری فروشگاه اینترنتی با PHP به شما توصیه می‌کند:

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.