⊗ppPmFmChcN 307 of 447 menu

PHP-da checkboxlardan foydalanishning nozik tomonlari

Faraz qilaylik, bizning formada faqat bitta checkbox bor:

<form action="" method="GET"> <input type="checkbox" name="flag"> <input type="submit"> </form>

Formani qayta ishlash kodi quyidagicha ko'rinishda bo'lsin:

<?php if (!empty($_GET)) { // agar forma yuborilgan bo'lsa if (isset($_GET['flag'])) { // agar belgilangan bo'lsa echo 'belgilangan'; } else { echo 'belgilanmagan'; } } ?>

Bizni muammo kutmoqda - agar checkbox belgilanmagan bo'lsa, va formada checkboxdan tashqari boshqa elementlar bo'lmasa, $_GET massivi bo'sh bo'ladi. Bu shuni anglatadiki, forma qayta ishlash kodida biz formaning yuborilishini tekshiradigan birinchi if ga kirmaymiz.

Bu muammoni hal qilish uchun maxsus usul qo'llaniladi: checkbox bilan bir xil nomga ega bo'lgan maxfiy input yaratiladi. Bunda maxfiy inputning qiymati nol, checkboxning qiymati esa bir bo'ladi:

<form action="" method="GET"> <input type="hidden" name="flag" value="0"> <input type="checkbox" name="flag" value="1"> <input type="submit"> </form>

Bunday holatda quyidagi natija paydo bo'ladi. Agar checkbox belgilanmagan bo'lsa, serverga faqat maxfiy inputning qiymati yuboriladi. Agar checkbox belgilangan bo'lsa, serverga bir xil nomdagi ikkala qiymat yuboriladi. Lekin, checkboxning qiymati ikkinchi bo'lgani uchun, u birinchisini bekor qiladi.

Shunday qilib, endi bizning checkbox serverga nol yoki bir qiymatini yuboradi:

<?php var_dump($_GET['flag']); // '0' yoki '1' ?>

Buni tekshirishda qo'llaymiz:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'belgilangan'; } else { echo 'belgilanmagan'; } } ?>

Checkbox yordamida foydalanuvchidan so'rang, uning yoshi 18 dan oshganmi yoki yo'qmi. Agar oshgan bo'lsa, unga saytga kirishga ruxsat bering, aks holda - ruxsat bermang.

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