⊗ppPmFmOFH 299 of 447 menu

PHPda shaklni bitta faylda qayta ishlash

Oldingi darsda bizning shaklimiz bitta sahifada joylashgan edi, boshqa sahifaga yuborilgan. Aslida bu shart emas. Agar action atributini bo'sh qoldirsak yoki butunlay olib tashlasak, shakl xuddi shu sahifaga yuboriladi.

Bu qanday ishlaydi: sahifaga birinchi marta kirganimizda shaklni ma'lumotlar bilan to'ldiramiz va tugmani bosamiz. Shundan so'ng sahifa yangilanadi va uning kodi qayta bajariladi, lekin endi shakl ma'lumotlari bilan.

Keling, misolni ko'rib chiqaylik. Faraz qilaylik, bizda bitta faylda shakl va uning qayta ishlanishi mavjud:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Sahifaga birinchi marta kirganda var_dump funksiyasi bo'sh massivni chiqaradi. Shakl yuborilgandan keyin esa u shakl ma'lumotlarini chiqaradi. Ya'ni birinchi marta $_GET bo'sh bo'ladi, ikkinchi marta esa - shakl ma'lumotlarini o'z ichiga oladi.

Bu muammolarga olib kelishi mumkin. Faraz qilaylik, masalan, biz shaklga raqamlarni kiritamiz va bu raqamlar yig'indisini ekranda chiqarishni xohlaymiz:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Bunday holda, sahifaga birinchi marta kirganimizda biz PHP xatolarini ko'ramiz, chunki $_GET massivi bo'sh, biz esa uning elementlariga murojaat qilyapmiz.

Bu yerda aytish kerakki, brauzeringizda xatolar paydo bo'lmasligi mumkin. Bunday holda PHP xatolari chiqarishi yoqilganligini tekshiring, shuningdek, sahifaga birinchi marta kirganingizga va manzil satrida shakl ma'lumotlari yo'qligiga ishonch hosil qiling.

Keling, muammoni tuzatamiz. Buning uchun shart qo'shamiz, unda shakl yuborilganligini tekshiramiz.

Masalan, $_GET ni bo'sh emasligini tekshirish mumkin. Agar $_GET bo'sh bo'lmasa - shakl yuborilgan va yig'indini bajarish mumkin. Aks holda biz hali sahifaga birinchi marta kirgan bo'lamiz va yig'indi bajarilmaydi. Mana, tuzatilgan kod:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Foydalanuvchidan familiyasi, ismi va otasining ismini so'rang. Shakl yuborilgandan so'ng, kiritilgan ma'lumotlarni ekranda chiqaring.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish