ثبت نام کنید

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ آدرس ایمیل خود را وارد کنید، یک ایمیل حاوی لینک بازیابی رمز عبور برای شما ارسال می شود.

پرسیدن سوال

برای پرسیدن سوال، باید وارد حساب کاربری خود در سایت شوید.
در بین 807 آموزش و 1612 پرسش به دنبال چه هستید؟

در بپرسم کلیه مطالب آموزشی رایگان است، کافیست فقط آن چیزی را که میخواهید دنبالش بگردید


آموزش فرم ها در PHP – فیلدهای ضروری

سلام

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

فرم HTML که استفاده میکنیم، همان فرمی هست که در دو جلسه ی قبلی ازش استفاده کردیم.

قوانینی که برای اعتبار سنجی فرم بالا در نظر گرفتیم، به شرح زیر است:

فیلد

قوانین

Name

این فیلد ضروری هست و فقط نام هایی را ثبت میکند که شامل حروف و فضای خالی باشند.

E-mail

این فیلد ضروری هست و فقط ایمیل هایی را ثبت میکند که از قوانین ایمیل در آنها رعایت شده باشد، شامل @ و . باشند.

Website

این فیلد اختیاری هست و آدرس سایت وارد شده باید صحیح باشد

Comment

این فیلد اختیاری هست و هر کاراکتری را قبول میکند.

Gender

این فیلد ضروری هست و کاربر فقط میتواند یک گزینه را انتخاب کند

فیلدهای ضروری

در کد زیر که برای فیلدهای ضروری استفاده میکنیم، علاوه بر متغیرهای قبل(که در جلسه قبل نوشتیم)، چند متغیر جدید که عبارت اند از:

  • nameErr$
  • emailErr$
  • genderErr$
  • websiteErr$

این متغیرها خطاهایی که برای فیلدهایی که الزامی هستند را در خودشون ذخیره میکنند، تا اگر کاربر فیلد ضروری را تکمیل نکرد و خواست فرم را ارسال کند، خطایی مربوطه نمایش داده شود.

در خط ۶ همانطور که قبلا هم گفتیم، چک کردیم که اگر متد ارسالی برابر POST بود، اون موقع بیاد و عملیاتی که مد نظر داریم را روی فیلدها اعمال کند.

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

  • فیلد Name در فرم ضروری هست، پس برای اینکه کاربر نتونه فرم رو بدون تکمیل کردن این فیلد ارسال کنه، به این صورت کد نویسی کردیم:

در تکه کد بالا گفتیم، اگر فیلد Name از سمت کاربر خالی فرستاده شده، بیاد و داخل متغیر nameErr پیغام مناسب رو چاپ کنه(که ما در اینجا پیغام Name is required) را قرار دادیم و اگر فیلد name خالی نبود، مقدار ارسال شده از سمت کاربر رو بیاد از تابع filterInput که برای فیلتر کردن داده های کاربران در جلسه قبل نوشتیم عبور بده.

  • فیلد Comemnt هم اختیاری است و نیازی به تکمیل کردن توسط کاربر نیست، لذا به این صورت کد نویسی میکنیم:

گفتیم اگه مقدار ارسال شده خالی بود، اشکال نداره فرم رو سمت سرور ارسال کن(مقدارش رو برابر رشته خالی گذاشتیم)، ولی اگر این فیلد توسط کاربر تکمیل شده بود، قبل از ارسال به سمت سرور از تابع filterInput عبورش بده.

این دو نمونه کد که در بالا توضیح داده شد، یکی برای فیلدهای ضروری و یکی هم برای فیلدهای غیرضروری بود. که درک بیشتری داشته باشید.

نمایش پیغام های خطا به کاربران

تا اینجای کار، پیغام ها را تعیین کردیم ولی به کاربر نشون ندادیم، برای اینکه به کاربر نشون بدیم باید در فرمی که داریم، تعدادی کد به این صورت اضافه کنیم:

در کنار فیلدهای ضروری یک تگ span به این صورت اضافه کردیم:

که پیغام مورد نظر ما را در صورت خالی نبودن فرم، نمایش دهد.

و در انتها تمام کدهایی که تا الان نوشتییم به صورت یکجا:

برای اجرا کافیست کدهای بالا را در یک فایل PHP ذخیره و در سمت سرور یا لوکال هاست، اجرا کنید.

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

موفق باشید.

درباره احمد آخوندیمدیر

در صورتی که از بپرسم راضی بودید؛ میتوانید حمایت مالی کنید

دنبال کردن من

پاسخ دهید