⊗ppPmFmChcN 307 of 447 menu

PHP-тағы чекбокстарды қолдану ерекшеліктері

Біздің формада тек чекбокс болсын:

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

Біздің форманы өңдеу коды былай көрінейін:

<?php if (!empty($_GET)) { // егер форма жіберілген болса if (isset($_GET['flag'])) { // егер флажок белгіленген болса echo 'белгіленген'; } else { echo 'белгіленбеген'; } } ?>

Бізді мәселе күтіп тұр - егер флажок белгіленбеген болса, онда формада чекбокстан басқа басқа элементтер болмағандықтан, $_GET-та бос массив болады. Бұл форманы өңдеу кодында біз бірінші if-ке, форманың жіберілгенін тексеріп, түспейміз.

Мәселені шешу үшін арнайы әдіс қолданылады: чекбоксімізбен бірдей атауы бар жасырын инпут жасалады. Бұл ретте жасырын инпуттың мәнін нөлге, ал чекбокстың мәнін бірге қояды:

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

Бұл жағдайда мынадай нәтиже шығады. Егер чекбокс белгіленбеген болса, серверге тек жасырын инпуттың мәні жіберіледі. Егер чекбокс белгіленген болса, серверге бір атауы бар екі мән жіберіледі. Бірақ, чекбокстың мәні екінші болатындықтан, ол біріншінің орнын басады.

Сонымен, енді біздің чекбокс серверге не нөлді, не бірді жібереді:

<?php var_dump($_GET['flag']); // '0' немесе '1' ?>

Мұны біздің тексеруде қолданайық:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'белгіленген'; } else { echo 'белгіленбеген'; } } ?>

Флажок көмегімен пайдаланушыдан сұраңыз, оларға 18 жасы бар ма жоқ па екенін. Егер бар болса, оларға сайтқа кіруге рұқсат етіңіз, ал егер жоқ болса - рұқсат етпеңіз.

Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау