PHP
June 16, 2019

Formani talab qilish

Demak bugungi darsimizda sizlar bilan bitta HTML forma yaratamiz va uni PHP skript yozib, ma'lumotlarni qayta ishlaymiz.

Shuningdek, qator bo'sh yoki bo'shmasligini, maydonlarni talab qilish kabi foydali funksiyalar bilan tanishamiz.

Forma yaratib olish

HTML forma yaratish uchun biz avvalo <form> tegini yozib olamiz. Har bir tegning o'zini atributlari mavjud. <form> tegini ham o'zining atributlari bor. Biz hozir uning 2ta atributidan foydalanamiz. Ular action va method atributlari. Bu atributlar haqida ma'lumot o'tkan darsimizda keltirilgan.

<input> tegida ham type va name atributlari mavjud. Bu bilan faqat ikkovi mavjud demoqchi emasman. Bu atributlar bilan bizning HTML kitobimizda tanishgan bo'lishingiz kerak. name atributiga forma maydonimizning nomi kiritiladi va ushbu maydon nomidagi ma'lumotni biz POST yoki GET metodi orqali olamiz.

Forma maydoni nomini o'zgaruvchiga tenglashtirish

Ko'rib turibsiz, maydon nomlarini POST metodi global o'zgaruvchisi orqali oddiy o'zgaruvchimizga tenglashtirib oldik.Endi bu o'zgaruvchini, masalan $fname o'zgaruvchisini formamizning xohlagan joyida ishlatishimiz mumkin. Agar o'zgaruvchiga tenglashtirmasdan ketsangiz, har bir maydonni ma'lumotini olishda echo $_POST["fname"]; shu tarzda uzun qilib yozib o'tirishingizga to'g'ri keladi. Tushundingiz deb o'ylayman!


Formada majburiy maydon hosil qilish

Endilikda biz formamizda asosiy bilimlarimizga tayangan holda,majburiy maydonlarni hosil qilamiz. Bunga alohida maydon hosil qilish deb tushunmang, shunchaki mavjud maydonni majburiyga aylantiramiz. Forma maydonini majburiy qilishdan maqsad, agar foydalanuvchi saytingizda izoh qoldirmoqchi bo'lsa yoki qayta bog'lanishni amalga oshirish vaqtida formadagi maydonlarni to'ldirmasdan ham yuborishi mumkin. Bu holda siz xabarni kimdan qabul qilganingizni bilmaysiz. Bu holat juda yomon. Shuning uchun biz o'zimizga kerakli maydonlarni foydalanuvchi uchun majburiy etib tayinlaymiz.

Bunda bizga PHP da asosan empty va isset funksiyalari qo'l keladi. Inson tilida aytganda, empty funksiyasi biror bir quti ichida narsa yo'q bo'lsa, yo'q deb aytadi. A isset funksiyasi esa quti ichida biror narsa bo'lsa hattoki oddiy bo'shliq bo'lsa ham narsa bor deb aytadi. Endi dasturlash tilida tushuntiraman, bizda bitta o'zgaruvchi berilgan. O'zgaruvchi ichida ma'lumot kiritilgan bo'lsa, hattoki oddiy probel bo'lsa ham buni isset funksiyasi, o'zgaruvchida ma'lumot bor deb chiqaradi. Agarda ma'lumot yo'q bo'lsa, empty funksiyasi ishlaydi, ya'ni ma'lumot yo'q deb chiqaradi. Buni misolda ko'ramiz:


Endi majburiy maydonni hosil qilish uchun namuna asosida ish ko'ramiz:

Bu yerda ikkita yangi o'zgaruvchi hosil qildik. Birinchisi $noname , ya'ni agar maydon bo'sh qoldirilsa xatolik chiqarish uchun $noname o'zgaruvchisiga biriktirilgan matn.

Ikkinchisi $fnam bu maydonlar hammasi to'liq to'ldirilgandan so'ng natijani ko'rsatuvchi o'zgaruvchi.


Kerakli satr funksiyalari

PHPda forma maydonlarimiz uchun kerakli funksiyalar mavjud. Hozir biz ishlataydiganlardan biri ular - trim, htmlspecialchars, stripcslashes.

  • trim - bu funksiya qatordagi bo'shliqlarni kod manbasidan olib tashlash uchun ishlatiladi(batafsil videoda)
  • htmlspecialchars - HTML teglarni oddiy belgilar sifatida qabul qilish uchun foydalanamiz.
  • stripcslashes - qatordagi ortiqcha sleshlarni(\) olib tashlashga yordam beradi.

Endi bir user-defined(foydalanuvchi) funksiya yaratamiz. Funksiya nomi Forma bo'ladi.

Endi bu funksiyamizni forma maydonlari o'zgaruvchilariga call qilamiz ya'ni funksiyamizni chaqiramiz.

Namuna:


Formani to'liq ochiq manbali kodi: https://github.com/sobirjonovs/php-form-required/


👉Youtubeda video darsni ko'rish: https://youtu.be/_ENHpC-0Xik
👉Telegramda video darsni ko'rish: t.me/tutorialsuz