⊗ppPmFmOFH 299 of 447 menu

Vormverwerking in een enkele PHP-lêer

In die vorige les was ons vorm op een bladsy geplaas en na 'n ander gestuur. Eintlik is dit nie nodig nie. As jy die kenmerk action leeg laat of dit heeltemal verwyder, sal die vorm na hierdie selfde bladsy gestuur word.

Hoe dit sal werk: by die eerste besoek aan die bladsy sal ons die vorm met data vul en op die knoppie klik. Daarna sal die bladsy verfris word en sy kode sal weer uitgevoer word, maar nou met die vormdata.

Kom ons kyk na 'n voorbeeld. Laat ons sê ons het 'n vorm en sy verwerking in een lêer:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Met die eerste besoek aan die bladsy sal die funksie var_dump 'n leë skikking toon. En na die vorm gestuur is sal dit reeds die vormdata toon. Dit beteken die eerste keer sal $_GET leeg wees, en die tweede keer - sal dit die vormdata bevat.

Dit kan tot probleme lei. Kom ons sê, by voorbeeld, ons sal getalle in die vorm invoer en die som van hierdie getalle op die skerm wil vertoon:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

In hierdie geval sal ons met die eerste besoek aan die bladsy PHP-foute sien, wat verband hou met die feit dat die skikking $_GET leeg is, terwyl ons daarna verwys.

Hier moet gesê word dat jy dalk nie foute in die blaaier sal sien nie. In hierdie geval moet jy kontroleer dat PHP-foute aangedui word, en ook seker maak dat dit jou eerste besoek aan die bladsy is en dat daar geen vormdata in die adresbalk is nie.

Kom ons los die probleem op. Voeg 'n voorwaarde by, waarin ons sal kontroleer of die vorm gestuur is.

Byvoorbeeld, jy kan $_GET kontroleer vir nie-leegheid. As $_GET nie leeg is nie - dan is die vorm gestuur en kan die sommering uitgevoer word. Andersins is dit nog die eerste besoek aan die bladsy en sal sommering nie uitgevoer word nie. So, hier is die reggestelde kode:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Vra die gebruiker om van, voornaam en tweede naam. Na die vorm gestuur is, vertoon die ingevoerde data op die skerm.

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