ورودی های اجباری فرم در PHP
در این بخش به بررسی ورودی های اجباری فرم در PHP می پردازیم. در اینجا هدف ما این هست تا یکسری از فیلد های فرم را اجباری کنیم.
یعنی کاربر باید حتماً فیلد های مشخص شده را تکمیل کند در غیر این صورت پیغام خطایی نمایش داده خواهد شد.
فیلد های اجباری در PHP
شما با توجه به نیاز و صلاح دید خود می توانید فیلد های فرم های HTML خود را اجباری یا اختیاری کنید ، در این مثال ما قصد داریم فیلد های نام و ایمیل و جنسیت را اجباری کنیم. یعنی کاربر باید این فیلد ها را تکمیل کند در غیر این صورت پیغام خطایی را دریافت خواهد کرد.
ورودی | قوانین اعتبار سنجی |
---|---|
Name | اجباری است و باید تنها شامل حروف و فضای خالی باشد. |
اجباری است و باید دارای یک آدرس ایمیل معتبر با ( @ و . ) باشد. | |
Website | اختیاری است و در صورت وجود باید دارای یک URL معتبر باشد. |
Comment | اختیاری است و یک ورودی چند خطی می باشد. |
Gender | اجباری است و باید یکی از مقادیر مشخص شده را انتخاب کند. |
در فصل قبلی تمامی فیلد های ورودی اختیار بودند.
کد های این بخش به این شکل است که در ادامه توضیحاتی را ارائه خواهیم داد:
در سورس کد های بالا ما چندین متغیر جدید ایجاد کردیم: $nameErr
و $emailErr
و $genderErr
و $websiteErr
که از این متغیر ها برای نگهداری پیغام خطا ها و نمایش آنها استفاده می کنیم.
همچنین با استفاده از متغیر سراسری $_POST
و تابع empty()
و دستورات شرطی if و else بررسی می کنیم که آیا فیلد ها خالی ارسال شده یا دارای اطلاعات هستند.
اگر با توجه به شرطی که تعریف کرده ایم داده ها خالی باشند یک پیغام خطا در متغیر های تعریف شده ذخیره می شود و نمایش داده خواهد شد در غیر این صورت داده ها سمت تابع test_input()
ارسال می شود.
تابع test_input
را در فصل قبلی ایجاد کردیم ، و کامل راجب اعتبار سنجی فرم ها در PHP صحبت کردیم.
نمایش پیغام های خطا در PHP
اکنون باید پیغام های خطا را نمایش بدهیم ، درصورتی که کاربر فیلد های اجباری را خالی ارسال کند جلوی هر فیلد خطای مربوط به آن نمایش داده می شود:
در فصل بعدی قرار است داده های ورودی را اعتبار سنجی کنیم ، یعنی بررسی کنیم که فیلد نام فقط دارای حروف و فضای خالی است ؟ یا فیلد ایمیل یک ایمیل معتبر است ؟ یا اینکه فیلد URL معتبر و صحیح است ؟
به طور کل تا اینجا سورس پروژه ما به این شکل در آمده است:
آیا این مطلب برای شما مفید بود ؟