⊗ppPmFmChcN 307 of 447 menu

PHP-də checkbox-lardan istifadə nüansları

Fərz edək ki, formada yalnız bir checkbox var:

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

Fərz edək ki, formanın emal kodu belə görünür:

<?php if (!empty($_GET)) { // forma göndərilibsə if (isset($_GET['flag'])) { // əgər qəfəs işarələnibsə echo 'işarələnib'; } else { echo 'işarələnməyib'; } } ?>

Bizi problem gözləyir - əgər qəfəs işarələnməyibsə, onda, formada checkbox-dan başqa digər elementlər olmadığı üçün, $_GET-də boş massiv olacaq. Bu o deməkdir ki, formanın emal kodunda biz formanın göndərilməsini yoxlayan ilk if-ə daxil olmayacağıq.

Problemin həlli üçün xüsusi bir üsuldan istifadə olunur: checkbox-ımızla eyni adda gizli bir input yaradırlar. Bu zaman gizli input-un dəyəri sıfır, checkbox-ın dəyəri isə bir qoyulur:

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

Bu halda belə olacaq. Əgər checkbox işarələnməyibsə, serverə yalnız gizli input-un dəyəri göndəriləcək. Əgər isə checkbox işarələnibsə, serverə eyni adla iki dəyər göndəriləcək. Amma, checkbox-ın dəyəri ikinci olduğu üçün, o sadəcə birincinin üzərini yazacaq.

Beləliklə, indi bizim checkbox serverə ya sıfır, ya da bir göndərəcək:

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

Bunu yoxlamada istifadə edək:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'işarələnib'; } else { echo 'işarələnməyib'; } } ?>

Qəfəs vasitəsilə istifadəçidən soruşun ki, onun artıq 18 yaşı var ya yox. Əgər varsa, ona sayta giriş icazəsi verin, yoxdursa - verməyin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et