1 / 28

11. PHP – 2.dio

11. PHP – 2.dio. Petlje, funkcije, rad s formama, $_GET, $_POST. Petlje u PHP-u. Petlje While Do-while For (iteracija)

tulia
Download Presentation

11. PHP – 2.dio

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 11. PHP – 2.dio Petlje, funkcije, rad s formama, $_GET, $_POST M. Zekić-Sušac

  2. Petlje u PHP-u Petlje • While • Do-while • For (iteracija) koriste se u PHP-u na isti način kao i u JavaScript-u (sintaksa je ista). Jedina razlika je u tome što se varijable u uvjetu koji se provjerava označavaju sa znakom $ ispred naziva varijable. (Za upotrebu ovih petlji pogledati predavanje o petljama u JavaScript-u) M. Zekić-Sušac

  3. Primjer upotrebe while petlje Primjer 4: <html> <body> <?php $i=1; while($i<=5) { echo “Broj je " . $i . "<br />"; $i++; } ?> </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 11, Primjer 4. Primjer 5 puta ispisuje poruku “Broj je” i vrijednost brojača. Povećavanje brojača i za 1 M. Zekić-Sušac

  4. Primjer upotrebe do-while petlje <html> <body> <?php $i=0; do { $i++; echo " Broj je " . $i . "<br />"; } while ($i<5); ?> </body> </html> Primjer 5 puta ispisuje poruku “Broj je” i vrijednost brojača. M. Zekić-Sušac

  5. Primjer upotrebe for petlje <html> <body> <?php for ($i=1; $i<=5; $i++) { echo "Hello World!<br />"; } ?> </body> </html> Primjer će ispisati poruku “Zdravo svijete!” 5 puta. M. Zekić-Sušac

  6. Petlja foreach • Petlja foreach koristi se kada se želi nešto ponoviti za elemente niza. U svakom prolazu kroz petlju, vrijednost trenutnog elementa niza dodjeljuje se varijabli $value, a pokazivač niza se pomiče za 1. U sljedećem prolazu kroz petlju, uzima se sljedeći element niza. • Sintaksa: foreach (array as value) { naredbe koje će se izvršiti; } M. Zekić-Sušac

  7. Primjer upotrebe foreach <html> <body> <?php $studenti=array("Petar", “Marko", “Ivo"); foreach ($studenti as $value) { echo “Ime studenta je: " . $value . "<br />"; } ?> </body> </html> M. Zekić-Sušac

  8. Funkcije u PHP-u • Funkcije su blokovi naredbi koji se po potrebi mogu pozivati i izvršavati • U PHP-u postoji oko 700 ugrađenih funkcija koje se mogu koristiti u skriptama. Popis ugrađenih funkcija može se vidjeti na stranici: http://www.w3schools.com/php/default.asp Primjeri nekih često korištenih funkcija: 1) Grupa: date/time funkcije – date(), check_date(),... • date(“d”) – vraća brojčanu vrijednost dana u mjesecu, od 0 do 31 • date(“D”) – vraća tekstualnu vrijednost dana u tjednu, sa prikazana prva tri slova, npr. Mon, Tue, Wed.... Itd. • date (“m”) – vraća brojčanu vrijednost mjeseca, broj od 1 do 12 • date(“M”) – vraća tekstualnu vrijednost mjeseca, prva tri slova • date(“t”) – vraća broj dana u promatranom mjesecu • date(“F”) – vraća puni tekstualni naziv mjeseca • date(“h”) – vraća koliko je sati po 12-satnom sustavu • date(“H”) – vraća koliko je sati po 24-satnom sustavu • ... Itd. Pogledati i ostale funkcije po potrebi. M. Zekić-Sušac

  9. Ugrađene funkcije u PHP-u 2) Grupa: funkcije za rad s datotekom – file(), file_exists(),... • file_exists(“primjer.txt”) – provjerava da li postoji datoteka (pod navodnicima se može navesti cijela staza) i vraća vrijednost 1 ako postoji, 0 ako ne postoji Primjer: <?php echo file_exists("test.txt"); ?> • Copy() – kopira sadržaj jedne datoteke u drugu datoteku Primjer: <?php echo copy("source.txt","target.txt"); ?> Primjer će ispisati na ekranu “1” ako datoteka postoji, a “0” ako ne postoji. Primjer će sadržaj datoteke “source.txt” kopirati u datoteku “target.txt” M. Zekić-Sušac

  10. Ugrađene funkcije u php-u - nastavak • fopen() – otvara datoteku • fclose() – zatvara datoteku Primjer – pokazuje kako se može najprije otvariti datoteka “test.txt” za čitanje, zatim izvršavati neke naredbe i zatvoriti datoteku: <?php $file = fopen("test.txt","r"); //naredbe koje treba izvršiti fclose($file); ?> Parametar “r” znači da se datoteka otvara samo za čitanje. Za pisanje u datoteku trebali bi upisati parametar “w”) M. Zekić-Sušac

  11. Ugrađene funkcije u php-u - nastavak U PHP-u postoje brojne druge ugrađene funkcije, kao npr.: • Matematičke funkcije • Funkcije za rad s nizovima • Funkcije za rad sa stringovima • Kalendarske funkcije • Funkcije grešaka • FTP funkcije, HTTP funkcije, XML funkcije i brojne druge. Sve se mogu pogledati na: http://www.w3schools.com/php/default.asp M. Zekić-Sušac

  12. Kreiranje vlastitih funkcija • Kao i u JavaScriptu, u PHP-u je moguće kreirati vlastite funkcije. • Funkcija započinje s ključnom riječi: “function” Sintaksa: function ime_funkcije() { naredbe koje funkcija izvršava } • Ime funkcije treba asocirati na ono što funkcija radi • Ime mora biti jedna riječ (ako se želi koristiti više riječi, moraju se spojiti u jednu, npr. writeMyName()) M. Zekić-Sušac

  13. Primjer kreirane funkcije Rezultat će biti: Zdravo svijete! Moje ime je Pero Peric Primjer 6: <html> <body> <?php function writeMyName() { echo “Pero Peric"; } echo “Zdravo svijete!<br />"; echo "Moje ime je "; writeMyName(); ?> </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 11, Primjer 6. M. Zekić-Sušac

  14. Prosljeđivanje paramerara funkciji Primjer 7: <html> <body> <?php function writeMyName($fname) { echo $fname . " Perić.<br />"; } echo "Moje ime je "; writeMyName("Pero"); echo "Moje ime je "; writeMyName("Marko"); echo "Moje ime je "; writeMyName("Ivo"); ?> </body> </html> Rezultat će biti: Moje ime je Pero Perić. Moje ime je Marko Perić. Moje ime je Ivo Perić. M. Zekić-Sušac

  15. Funkcija koja vraća vrijednost Rezultat primjera će biti: 1 + 16 = 17 Primjer 8: <html><body> <?php function zbroji($x,$y) { $total = $x + $y; return $total; } $rez=zbroji(1,16); echo "1 + 16 = " . $rez; ?> </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 11, Primjer 7 i 8. Funkcija prima parametre $x i $y, a vraća vrijednost varijable $total. Vrijednost koju vraća funkcija možemo pohraniti u varijablu, npr. $rez M. Zekić-Sušac

  16. Rad s formama u PHP-u • PHP skripta može koristiti elemente forme (obrasca) kreirane u html-u. PHP skripta može rukovati elementima forme preko njihovog naziva dodijeljenog u atributu “name”. • PHP skripta se obično koristi za izvršavanje nekih naredbi koje se trebaju dogoditi nakon što korisnik klikne na dugme u formi. • Naziv php datoteke koja se treba izvršiti navodi se u naredbi <form> u atributu “action“ • Obavezno je navesti i atribut “method” koji određuje da li će se koristiti metoda post ili get za preuzimanje vrijednosti varijabli iz forme. Npr. <form action=“primjer.php” method=“post”> Naziv .php datoteke koja se izvršava na klik korisnika na dugme Metoda može biti “post” ili “get” M. Zekić-Sušac

  17. Primjer upotrebe PHP-a i forme • Primjer 9: 1) Sadržaj HTML datoteke u kojoj se nalazi forma: <html> <body> <form action= "dobrodoslica.php" method= "post"> Vaše ime: <input type="text" name= "ime" /> Broj godina: <input type= "text" name= "starost" /> <input type="submit" value= "Pošalji” /> </form> </body> </html> Ovu ćemo datoteku pohraniti pod nazivom “PHP_primjer9.html” M. Zekić-Sušac

  18. Primjer upotrebe PHP-a i forme - nastavak 2) Sadržaj .php datoteke “dobrodoslica.php” koja se izvršava klikom miša na dugme na prethodnoj formi: <html> <body> Dobrodošli <?php echo $_POST["ime"]; ?> . <br /> Vi imate <?php echo $_POST["starost"]; ?> godina. </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 11, Primjer 9. Rezultat ovog primjera je: Prikaz forme u koju korisnik može unijeti ime i broj godina, te kliknuti na dugme Prikaz poruke, npr. “Dobrodošli Pero. Vi imate 30 godina.” $_POST se koristi za prikaz vrijednosti iz elementa forme M. Zekić-Sušac

  19. Validacija forme • Kad god je to moguće, unos podataka u formu treba validirati. • Validaciju se preporuča raditi tako da se umjesto nove php datoteke, u atributu “action” poziva ista datoteka, u koju će se ispisati poruka o grešci ako unos nije ispravan, kako bi korisnik mogao vidjeti što nije dobro unio, i ponoviti unos M. Zekić-Sušac

  20. $_GET varijabla • Varijabla $_GET koristi se kada želimo preuzeti vrijednosti iz neke forme s pomoću metode GET • Varijabla $_GET je niz naziva varijabli i njihovih vrijednosti koje su poslane od strane HTTP GET metode. • $_GET preuzima vrijednosti koje su poslane iz forme s pomoću atributa method="get". • Informacija koja se šalje iz forme metodom GET vidljiva je svima i prikazuje se u polju za prikaz adrese IE (ili dr. preglednika). • Ograničenje na količinu informacije koja se može poslati iz forme metodom GET je 100 znakova. M. Zekić-Sušac

  21. Primjer upotrebe $_GET • Primjer 10. 1) Sadržaj html datoteke “PHP_primjer10.html” <html> <body> <form action=“dobroslica_get.php" method="get"> Vaše ime: <input type="text" name=“ime" /> Broj godina: <input type="text" name=“starost" /> <input type="submit“ value=“Pošalji” /> </form> </body> </html> Nakon što korisnik u formu upiše podatke, npr. Pero, 30, te klikne mišem na dugme “Pošalji”, u polju za adresu IE preglednika prikazat će se: http://laplace.mathos.hr/~mzekic/dobrodoslica.php?ime=Pero&starost=30 M. Zekić-Sušac

  22. Primjer upotrebe $_GET - nastavak 2) Sadržaj php datoteke “dobrodoslica_get.php”: <html> <body> Dobrodošli <?php echo $_GET["ime"]; ?> . <br /> Vi imate <?php echo $_GET["starost"]; ?> godina. </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 11, Primjer 10. Rezultat ovog primjera je: Prikaz forme u koju korisnik može unijeti ime i broj godina, te kliknuti na dugme 2) Prikaz poruke, npr. “Dobrodošli Pero. Vi imate 30 godina.” M. Zekić-Sušac

  23. Kada koristiti $_GET? Kod upotrebe $_GET, svi nazivi i vrijednosti varijabli prikazuju se u polju za adresu (URL) preglednika. • $_GET ne treba koristiti: • Kada se unose podaci o lozinkama ili drugim osjetljivim informacijama (npr. broj kreditne kartice) • kod velikih vrijednosti varijabli (ograničenje je max. 100 znakova) • $_GET treba koristiti: • Kada želimo stranicu staviti u bookmark (kako bi se odmah učitala sa unesenim podacima). M. Zekić-Sušac

  24. Varijabla $_REQUEST • Varijabla $_REQUEST sadrži vrijednost varijabli $_GET, $_POST i $_COOKIE. • Može se koristiti za dobivanje rezultata iz forme koji su poslani s pomoću metoda GET i POST. • Npr. u prošloj datoteci dobrodoslica_get.php mogli smo napisati: Dobrodošli <?php echo $_REQUEST["ime"]; ?>.<br /> Vi imate <?php echo $_REQUEST["starost"]; ?> godina! M. Zekić-Sušac

  25. Varijabla $_POST • Varijabla $_POST koristi se kada želimo preuzeti vrijednosti iz neke forme s pomoću metode POST • Varijabla $_POST je niz naziva varijabli i njihovih vrijednosti koje su poslane od strane HTTP POST metode. • $_POST preuzima vrijednosti koje su poslane iz forme s pomoću atributa method=“post". • Informacija koja se šalje iz forme metodom POST je nevidljiva ostalim korisnicima • Ne postoji ograničenje u broju znakova koji se može poslati s pomoću metode POST. M. Zekić-Sušac

  26. Primjer upotrebe $_POST • Za upotrebu $_POST pogledati primjer 9 na str. 18 ovog predavanja. Za provjeru primjera kliknite na stranicu kolegija, izabrati Predavanje 11, Primjer 9. Primijetite da se, nakon što korisnik unese podatke i klikne na dugme, u polju za URL ne vide uneseni podaci, nego samo naziv .php datoteke koja je aktivna: http://laplace.mathos.hr/~mzekic/dobrodoslica.php M. Zekić-Sušac

  27. Prednosti i nedostaci $_POST Prednosti upotrebe $_POST: • Varijable se ne vide u URL polju • Varijable nisu ograničene po veličini Nedostaci: • Nije moguće staviti stranicu s unesenim podacima u bookmark. Kao i kod $_GET, i kod $_POST moguće je vrijednosti varijabli prikazati s pomoću $_REQUEST. M. Zekić-Sušac

  28. Literatura: • W3C, PHP Tutorial, http://www.w3schools.com/php/, 28.04.12. M. Zekić-Sušac

More Related