⊗ppPmFmOFH 299 of 447 menu

Obdelava obrazca v eni datoteki PHP

V prejšnji lekciji je bil naš obrazec nameščen na eni strani, poslan pa je bil na drugo. Pravzaprav to ni nujno. Če pustimo atribut action prazen ali ga popolnoma odstranimo, bo obrazec poslan na isto stran.

Kako bo to delovalo: ob prvem obisku strani bomo izpolnili obrazec s podatki in kliknili na gumb. Po tem se bo stran osvežila in njena koda se bo znova izvedla, vendar že s podatki obrazca.

Poglejmo si primer. Predpostavimo, da imamo v eni datoteki obrazec in njegovo obdelavo:

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

Ob prvem obisku strani bo funkcija var_dump izpisala prazen niz. Po pošiljanju obrazca pa bo izpisal že podatke obrazca. Se pravi, prvič bo $_GET prazen, drugič - pa bo vseboval podatke obrazca.

To lahko povzroči težave. Recimo, da bomo v obrazec vnašali številke in želimo izpisati vsoto teh števil na zaslon:

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

V tem primeru bomo ob prvem obisku strani videli napake PHP, povezane s tem, da je niz $_GET prazen, mi pa dostopamo do njegovih elementov.

Tukaj je treba povedati, da pri vas napake morda ne bodo pojavile v brskalniku. V tem primeru preverite, ali imate vklopljen izpis napak PHP, in se prepričajte, da je to vaš prvi obisk strani in da v naslovni vrstici ni podatkov obrazca.

Popravimo težavo. Za to dodajmo pogoj, v katerem bomo preverjali, ali je bil obrazec poslan.

Na primer, lahko preverimo $_GET glede na to, ali ni prazen. Če $_GET ni prazen - je bil obrazec poslan in lahko izvedemo seštevanje. V nasprotnem primeru je pri nas še prvi obisk strani in seštevanje ne bo izvedeno. Torej, tu je popravljena koda:

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

Vprašajte uporabnika priimek, ime in srednje ime. Po pošiljanju obrazca izpišite na zaslon vnesene podatke.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni