⊗ppPmFmOFH 299 of 447 menu

Obrada forme u jednoj PHP datoteci

U prethodnoj lekciji naša forma je bila smeštena na jednoj stranici, a slala se na drugu. Zapravo to nije neophodno. Ako ostavite atribut action praznim ili ga uklonite potpuno, forma će biti poslata na ovu istu stranicu.

Kako će to raditi: pri prvom ulasku na stranicu popunićemo formu podacima i pritisnuti dugme. Nakon toga stranica će se osvežiti i njen kod će se ponovo izvršiti, ali već sa podacima forme.

Hajde da pogledamo primer. Neka imamo u jednoj datoteci formu i njen obradu:

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

Pri prvom ulasku na stranicu funkcija var_dump će ispisati prazan niz. A nakon slanja forme ispisaće već podatke forme. To znači prvi put $_GET će biti prazan, a drugi put - će sadržati podatke forme.

Ovo može dovesti do problema. Neka, na primer, u formu unosimo brojeve i želimo da ispišemo zbir tih brojeva na ekran:

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

U ovom slučaju pri prvom ulasku na stranicu vidjećemo greške PHP, povezane sa činjenicom da je niz $_GET prazan, a mi pristupamo njegovim elementima.

Ovde treba reći da se kod vas greške možda neće ni pojaviti u pregledaču. U tom slučaju proverite da li vam je uključen ispis grešaka PHP, kao i da li je kod vas prvi ulazak na stranicu i da li u adresnoj liniji nema podataka forme.

Hajde da rešimo problem. Za to dodajmo uslov, u kome ćemo proveravati to da li je forma poslata.

Na primer, možemo proveravati $_GET na ne-praznoću. Ako $_GET nije prazan - onda je forma poslata i možemo izvršiti sabiranje. U suprotnom mi smo još uvek na prvom ulasku na stranicu i sabiranje neće biti izvršeno. Evo, ispravljen kod:

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

Pitajte korisnika za prezime, ime i patronim (ime oca). Nakon slanja forme ispišite na ekran unete podatke.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij