160 likes | 328 Views
PHP Obrada formi. Programiranje za Internet FSR Mostar. Uvod. Što trebamo znati o obradi formi: Što su forme u osnovi i čemu služe? . Kako napisati formu u HTML-u? Kako pristupiti podacima iz forme u PHP programu?. Kako rade forme. Vrijeme. Korisnik zahtijeva određeni URL
E N D
PHPObrada formi Programiranje za Internet FSR Mostar
Uvod • Što trebamo znati o obradi formi: • Što su forme u osnovi i čemu služe?. • Kako napisati formu u HTML-u? • Kako pristupiti podacima iz forme u PHP programu?
Kako rade forme Vrijeme Korisnik zahtijeva određeni URL (na kojem se nalazi forma) Server vraća HTML dokument s formom Korisnik popunjava formu i šalje podatke programu na serveru (otvara se drugi/novi URL se otvara ) Korisnik HTML Odgovor kao rezultat obrade podataka na strani servera Web Server
Kako izgledaju forme? <form action="url/to/submit/page" method="get"> <!–- form contents --> </form> Ili <form action="url/to/submit/page" method="post"> <!–- form contents --> </form>
form oznaka • action="url/to/submit/page"je adresa/URL stranice/programa kojem se šalju podaci. • method= " …"je HTTP metoda kojom se šalju podaci programu. Opcije su getilipost. • Ako je metoda GET podaci iz forme se proslijeđuju kao parovi podataka (..atribut= vrijednost&..) u url-u; • Ako je metoda POST šalje se unutar tijela HTTP zahtjeva.
Polja unutar form oznake • Osnovno polje je text. <label for= „un">User Name</label> <input type="text" name="username"id= "un" size="20"/>
input oznaka i atributi • name="…"je naziv polja. Ovo ime će se koristiti u PHP programu za pristup podatku koje korisnik šalje. • id="…"je niz za referencu s label oznakom – ovo se treba koristiti na način da je isti id kao što je u <label>oznaci (label se može i izostaviti). • size="…"jedužina polja koje je prikazano korisniku (broj karaktera).
input oznaka i atributi – za lozinku • Input polje za unos lozinke. <label for=“pw">Password</label> <input type=“password" name=“passwd" id=“pw" size="20"/>
Cijeli kod – forma.html <html> <body> <h1>Forma za prijavu</h1> <form action="obrada.php" method="get"> <label for= "fn">First Name</label> <input type="text" name="firstname" id= "un" size="20"/> <br> <label for="ln">Last Name</label> <input type="text" name="lastname" id="ln" size="20"/> <br> <input type="reset" value="Reset"> <input type="submit" value="Submit"> </form> </body> </html>
<html> <body> <h1>Forma za prijavu</h1> <formaction="obrada.php" method="get"> <label for= "fn">First Name</label> <inputtype="text" name="firstname" id= "un" size="20"/> <br> <label for="ln">LastName</label> <inputtype="text" name="lastname" id="ln" size="20"/> <br> <inputtype="reset" value="Reset"> <inputtype="submit" value="Submit"> </form> </body> </html>
obrada.php <?php if (isset($_GET['firstname'])) { /* uradite validaciju - je li broj ili niz, nedozvoljeni znakovi i slicno*/ $ime=$_GET['firstname']; $prezime=$_GET['lastname']; echo "Vase ime je $ime, a prezime je $prezime"; } else { //preusmjeri na forma.html ako niej poslano ništa header('Location: forma.html'); } ?>
Dobijemo ovakav prikaz Obratite pažnju na adresu, tj tekući URL: http://localhost:50000/pri_2013/obrada.php?firstname=Ivan&lastname=Krasi%E6
Analiza url-a • URL nakon pozivanje forme je: • http://localhost:50000/pri_2013/obrada.php?firstname=Ivan&lastname=Krasi%E6 • obrada.php • ? • firstname=Ivan • & • lastname=Krasi%E6 obrada.php - Skripta/program kojem se podaci šalju nakon ‘okidanja’ forme tj. Submit-a ? – razdjelnik adrese i prenesenih/preuzetih parametara firstname – naziv input polja , pogledajte kod forme Ivan – vrijednost koju smo unijeli u formu & – razdjelnik parova parametara lastname– naziv 2og input polja , pogledajte kod forme Krasi%E6– vrijednost koju smo unijeli u formu ć se kodira u URL-u kao %E6
Povezivanja <html> <body> <h1>Forma za prijavu</h1> <form action="obrada.php" method="get"> <label for= "fn">First Name</label> <input type="text" name="firstname" id= "un" size="20"/> <br> <label for="ln">Last Name</label> <input type="text" name="lastname" id="ln" size="20"/> <br> <input type="reset" value="Reset"> <input type="submit" value="Submit"> </form> </body> </html> … $ime=$_GET['firstname']; $prezime=$_GET['lastname']; …