⊗ppPmFmChcN 307 of 447 menu

Nuançat e përdorimit të checkbox-eve në PHP

Le të themi se në formën tonë ka vetëm një checkbox:

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

Le të themi se kodi i përpunimit të formës sonë duket kështu:

<?php if (!empty($_GET)) { // nëse forma u dërgua if (isset($_GET['flag'])) { // nëse checkbox-u është shënuar echo 'i shënuar'; } else { echo 'i pashënuar'; } } ?>

Ne do të përballemi me një problem - nëse checkbox-u nuk është shënuar, atëherë, meqenëse përveç checkbox-ut nuk ka elementë të tjerë në formë, në $_GET do të ketë një array bosh. Kjo do të thotë se në kodin e përpunimit të formës ne nuk do të hyjmë në if-in e parë, që kontrollon nëse forma u dërgua.

Për të zgjidhur këtë problem përdoret një teknikë e veçantë: krijohet një input i fshehur me të njëjtin emër si checkbox-u ynë. Në këtë rast, vlera e input-it të fshehur vendoset në zero, dhe e checkbox-ut - në një:

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

Në këtë rast do të ndodhë në vijim. Nëse checkbox-u nuk është shënuar, atëherë në server do të dërgohet vetëm vlera e input-it të fshehur. Nëse checkbox-u është shënuar, atëherë në server do të dërgohen të dyja vlerat me të njëjtin emër. Por, meqenëse vlera e checkbox-ut do të jetë e dyta, ajo thjesht do ta mbivendosë të parën.

Pra, tani checkbox-u ynë do të dërgojë në server ose zero, ose një:

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

Le ta përdorim këtë në kontrollin tonë:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'i shënuar'; } else { echo 'i pashënuar'; } } ?>

Me anë të një checkbox-u, pyesni përdoruesin nëse ai ka 18 vjet apo jo. Nëse ka, lejoni atij hyrjen në faqe, dhe nëse nuk ka - mos e lejoni.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo