⊗ppPmFmOFH 299 of 447 menu

Vormi töötlemine ühes PHP failis

Eelmises õppetükis oli meie vorm asetatud ühel lehel ja saadetud teisele. Tegelikult pole see vajalik. Kui jätta atribuut action tühjaks või eemaldada see sootuks, saadetakse vorm sellele samale lehele.

Kuidas see töötab: esimesel lehele sisenemisel täidame vormi andmetega ja vajutame nuppu. Pärast seda värskendub leht uuesti ja selle kood käivitatakse uuesti, kuid nüüd juba vormi andmetega.

Vaatame näidet. Olgu meil ühes failis vorm ja selle töötlemine:

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

Esimesel lehele sisenemisel funktsioon var_dump väljastab tühja massiivi. Pärast vormi saatmist väljastab see juba vormi andmed. See tähendab, et esimene kord on $_GET tühi, ja teine kord - sisaldab vormi andmeid.

See võib põhjustada probleeme. Olgu näiteks me sisestame vormi numbreid ja tahame ekraanile kuvada nende arvude summat:

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

Sel juhul esimesel lehele sisenemisel näeme PHP veateateid, mis on seotud sellega, et massiiv $_GET on tühi, aga me pöördume selle elementide poole.

Siinkohal tuleb öelda, et teil ei pruugi veateateid brauseris ilmuda. Sel juhul kontrollige, kas PHP veateadete kuvamine on sisse lülitatud, ja veenduge, et te sisestute lehele esimest korda ja aadressireal pole vormi andmeid.

Parandame probleemi. Selleks lisame tingimuse, milles kontrollime, et vorm on saadetud.

Näiteks saab kontrollida $_GET mittetühjususe suhtes. Kui $_GET pole tühi - siis on vorm saadetud ja saab teostada summeerimise. Vastasel juhul on meil veel esimene lehele sisenemine ja summeerimist ei teostata. Nii, siin on parandatud kood:

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

Küsige kasutajalt perekonnanimi, eesnimi ja isanimi. Pärast vormi saatmist kuvage ekraanile sisestatud andmed.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu