⊗ppPmFmChcN 307 of 447 menu

Нијанси на користење на checkboxes во PHP

Нека во нашата форма има само checkbox:

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

Нека кодот за обработка на нашата форма изгледа вака:

<?php if (!empty($_GET)) { // ако формата е испратена if (isset($_GET['flag'])) { // ако checkbox-от е означен echo 'означен'; } else { echo 'не е означен'; } } ?>

Ќе наидеме на проблем - ако checkbox-от не е означен, тогаш, бидејќи во формата освен checkbox нема други елементи, во $_GET ќе лежи празен низа. Ова значи дека во кодот за обработка на формата нема да влеземе во првиот if, кој проверува дали формата е испратена.

За решавање на проблемот се користи посебен прием: се создава скриено поле (input) со исто име, како и нашиот checkbox. При тоа, вредноста на скриеното поле се поставува на нула, а на checkbox-от - на еден:

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

Во таков случај ќе се добие следново. Ако checkbox-от не е означен, тогаш на серверот ќе се испрати само вредноста на скриеното поле. Ако checkbox-от е означен, тогаш на серверот ќе се испратат двете вредности со едно име. Но, бидејќи вредноста на checkbox-от ќе биде втора, таа едноставно ќе ја пребрише првата.

Значи, сега нашиот checkbox ќе испраќа на сервер или нула, или еден:

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

Ќе го искористиме ова во нашата проверка:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'означен'; } else { echo 'не е означен'; } } ?>

Со помош на checkbox прашајте го корисникот дали има 18 години или не. Ако има, дозволете му пристап на сајтот, а ако нема - не дозволувајте.

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