⊗ppPmFmChcN 307 of 447 menu

Nuanses van die gebruik van merkblokkies in PHP

Laat daar slegs 'n merkblokkie in ons vorm wees:

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

Laat die kode vir die verwerking van ons vorm so lyk:

<?php if (!empty($_GET)) { // indien die vorm versend is if (isset($_GET['flag'])) { // indien die merkie gemerk is echo 'gemerk'; } else { echo 'nie gemerk nie'; } } ?>

Ons wag 'n probleem - as die merkie nie gemerk is nie, dan, aangesien daar buiten die merkblokkie geen ander elemente in die vorm is nie, sal daar 'n leë skikking in $_GET wees. Dit beteken dat ons in die kode vir die verwerking van die vorm nie by die eerste if sal uitkom nie, wat die versending van die vorm kontroleer.

Vir die oplossing van die probleem gebruik hulle 'n spesiale tegniek: hulle skep 'n verborge invoer met dieselfde naam as ons merkblokkie. In dié geval stel hulle die waarde van die verborge invoer op nul, en dié van die merkblokkie op een:

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

In sulke geval sal die volgende gebeur. As die merkblokkie nie gemerk is nie, sal slegs die waarde van die verborge invoer na die bediener gestuur word. As die merkblokkie egter gemerk is, sal albei waardes met een naam na die bediener gestuur word. Maar, aangesien die waarde van die merkblokkie die tweede sal wees, sal dit eenvoudig die eerste een vervang.

So, nou sal ons merkblokkie óf nul, óf een na die bediener stuur:

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

Kom ons gebruik dit in ons kontrole:

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

Vra met behulp van 'n merkie die gebruiker of hy/sy reeds 18 jaar oud is of nie. Indien wel, laat hom/haar toegang tot die webwerf toe, en indien nie - moenie dit toelaat nie.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp