260 likes | 484 Views
10. PHP – 1.dio. Pojam, osnove, veza PHP – MySQL, varijable, operatori, petlje if, if elseif, switch, nizovi. Što je PHP?. PHP je skriptni jezik koji se izvodi na poslužiteljskoj strani (eng. server-side), a koristi se za kreiranje dinamičkih i interaktivnih web mjesta.
E N D
10. PHP – 1.dio Pojam, osnove, veza PHP – MySQL, varijable, operatori, petlje if, if elseif, switch, nizovi M. Zekić-Sušac
Što je PHP? PHP je skriptni jezik koji se izvodi na poslužiteljskoj strani (eng. server-side), a koristi se za kreiranje dinamičkih i interaktivnih web mjesta. Kratica PHP = PHP: Hypertext Preprocessor Neke karakteristike PHP-a: • Vrlo popularan u upotrebi, alternativa je svom glavnom konkurentu - Microsoft's ASP-u. • Besplatan je i otvorenog koda (eng. open source software - OSS) • Pogodan je za razvoj web mjesta i može se direktno upisati u HTML kod. • Sintaksa mu je slična Perl-u ili C-u. Često se koristi uz Apache web server, na različitim operacijskim sustavima. • Podržava ISAPI protokol za razvoj aplikacijskih sučelja i može se koristiti i na Microsoft's Internet Information Server-u (IIS) pod Windows op. sustavom. • Podržava rad s raznim bazama podataka: MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, i dr. M. Zekić-Sušac
Što sadržava PHP datoteka? PHP datoteke mogu sadržavati: • Tekst • HTML tagove • Skripte PHP datoteke mogu imati nastavak (ekstenziju): ".php", ".php3", ili ".phtml" PHP datoteka se izvršava na poslužitelju, a zatim se vraća pregledniku kao običan HTML. M. Zekić-Sušac
Što je MySQL? • MySQL je poslužitelj za bazu podataka Karakteristike MySQL-a: • Baza podataka u MySQL-u je u relacijskom modelu • Pogodan je za male i velike aplikacije • Podržava SQL standard (SQL = Structured Query Language, tj. jezik za upite na relacijskim bazama podataka) • Izvršava se na brojnim platformama • Besplatan je za download i upotrebu M. Zekić-Sušac
Veza PHP - MySQL • PHP aplikacije mogu raditi s MySQL bazom neovisno o platformi (aplikacije za rad s bazom mogu se razviti i na Unix i na Windows poslužitelju) • Baza u MySQL-u može se dizajnirati s pomoću posebnog alata phpMyAdmin ili direktno iz programskog koda SQL jezika i PHP-a (kreiranje tablica i polja u bazi, upiti za izbor podataka iz baze prema raznim kriterijima, ispis podataka, i dr.), • Npr. ako u bazi Studenti želimo kreirati tablicu Maticni_podaci, i u njoj polja: Mat_broj, Ime, Prezime, Mjesto - možemo koristiti SQL naredbe za kreiranje tablice, PHP za izradu i rukovanje formom za unos podataka, SQL naredbu za izlučivanje studenata iz baze, te PHP naredbe za ispis na stranici. M. Zekić-Sušac
Pretpostavke za upotrebu PHP-a Za upotrebu PHP-a potrebno je imati zadovoljene ove pretpostavke: • Instaliran Apache server na Windows ili Unix/Linux poslužitelju • Instaliran PHP jezik na Windows ili Unix/Linux poslužitelju • Instaliranu MySQL bazu na Windows ili Unix/Linux poslužitelju Na poslužitelju Odjela za matematiku imamo instalirano sve navedeno. Ukoliko netko želi na svoje kućno računalo instalirati, adrese su sljedeće: 1. Tutorial za instalaciju PHP-a: http://www.php.net/manual/en/install.php 2. Adresa za download PHP-a: http://www.php.net/downloads.php 3. Adresa za download MySQL-a: http://www.mysql.com/downloads/index.html 4. Adresa za download Apache web servera: http://httpd.apache.org/download.cgi M. Zekić-Sušac
PHP sintaksa • Izvorni (source) kod PHP-a se ne može vidjeti s pomoću naredbe "View source" u pregledniku – jer je skripta već izvršena na poslužitelju, a preglednik dobije samo output skripte u HTML datoteku, pa je vidljiv samo običan HTML kod • Izvorni kod možemo vidjeti samo u nekom tekst editoru (npr. Notepad, Wordpad) ili web editoru (npr. Dreamweaver ili dr.) u kojem pišemo naredbe PHP-a, i to na lokalnom računalu ili na poslužitelju Blok PHP skripte uvijek počinje tagom: <?php a završava sa ?> • Skripta se može postaviti bilo gdje u HTML dokument. • Ako poslužitelj ima instalirau podršku za “shorthand”, tada se skripta može započeti i tagom <? i završiti s tagom ?>. • Zbog kompatibilnosti s drugim poslužiteljima, preporuča se koristiti standardni način za započinjanje skripte (<?php) M. Zekić-Sušac
Primjer php skripte • Neka .php datoteka obično sadržava HTML tagove, te neke naredbe PHP skripte. • Primjer: PHP skripta koja ispisuje u pregledniku tekst “Hello World!“: <html> <body> <?php echo "Hello World"; ?> </body> </html> Skripta se ne može izvršiti na lokalnom računalu, nego najprije upload-irati na poslužitelj, gdje je instalirana podrška za php. M. Zekić-Sušac
Neka pravila PHP jezika • Svaka linija koda u PHP-u mora završiti znakom “;” koji razdvaja naredbe • Postoje dvije osnovne naredbe za ispis teksta: echo i print. • Komentari se u PHP jeziku koriste kao i u JavaScriptu: • // - koriste se za umetanje komentara u jednoj liniji (vrijedi do kraja jedne linije) • /* i */ - koriste se za umetanje dužih komentara, koji se protežu kroz više linija M. Zekić-Sušac
Varijable u PHP-u • Varijable se koriste za pohranjivanje vrijednosti, npr. brojeva, stringova ili nizova, kako bi se mogli koristiti više puta u skripti • Sve varijable u PHPu počinju znakom: $ • Ispravan način za dodjeljivanje vrijednosti varijabli: $var_name = value; Npr. $a=3; $Ime=“Pero”; • Ako se znak “$” zaboravi staviti ispred imena varijabli, skripta neće raditi. M. Zekić-Sušac
Neka pravila za upotrebu varijabli • Varijable u PHP-u ne treba deklarirati prije upotrebe, tj. ne treba im definirati tip. • PHP automatski deklarira tip varijabli prema vrijednosti koja joj je dodijeljena prvi put kada se varijabla koristi u skripti • Jezici koji imaju takav način rada s varijabla zovu se “Loosely Typed” jezici, dok se jezici koji strogo traže deklaraciju varijable prije upotrebe zovu “Strongly Typed” jezici. Pravila vezana uz dodjelu naziva varijabli: • Naziv varijable mora započeti slovom ili znakom underscore "_" • Naziv varijable može sadržavati samo alpha-numeričke znakove i underscores (a-Z, 0-9, i _ ) • Naziv varijable ne smije sadržavati razmak (space). Ako se u nazivu želi zadržati više riječi, treba ih povezati donjom crticoma, npr. ($my_string), ili velikim početnim slovom druge riječi, a sastavljeno ($myString) M. Zekić-Sušac
Primjer upotrebe varijabli • U sljedećem primjeru koristi se i string i numerička varijabla. Najprije im se dodjeljuju vrijednosti, a zatim se ispisuju na ekranu: <?php $txt = "Hello World!"; $number = 16; echo $txt; echo $number; ?> M. Zekić-Sušac
Operatori u PHP-u Operatori uspoređivanja: Aritmetički operatori: M. Zekić-Sušac
Logički operatori u PHP-u Koriste se za određivanje logike između izraza. Najčešći logički operatori su: • && - logičko “i” (and) • || - logičko “ili” (or) • ! – logičko “ne” (not) Logički izrazi vraćaju vrijednost istina ili laž (eng. “true” ili “false”). Npr. x=6; y=3; if (x < 10 && y > 1) vraća “true” if (x==5 || y==5) vraća “false” !(x==y) vraća “true” M. Zekić-Sušac
Petlja if Sintaksa: if (uvjet) naredbe koje treba izvršiti ako je uvjet ispunjen; else naredbe koje treba izvršiti ako uvjet nije ispunjen; Ukoliko treba izvršiti više od jedne naredbe, one se stavljaju u vitičaste zagrade. Primjer: <html> <body> <?php $d=-1; if ($d>0) echo “Broj je pozitivan!"; else echo “Broj je 0 ili negativan!"; ?> </body> </html> Pitanje: Što će ispisati ova skripta? M. Zekić-Sušac
Primjer s petljom if i funkcijom datuma Primjer 1: <html> <body> <?php $d=date("D"); if ($d=="Fri") echo “Ugodan Vam vikend!"; else echo “Dobar Vam dan!"; ?></body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 10, Primjer 1. Ako ovaj primjer pogledamo u source kodu iz IE, dobijemo samo ono što se izvršilo (isto se vidi ako pohranimo ovaj primjer sa servera na lokalni disk): <html> <body> Dobar Vam dan!</body> </html> Primjer ispisuje jednu poruku ako je dan u tjednu petak, a drugu poruku ako nije petak. M. Zekić-Sušac
Primjer if ...elseif petlje • Ako želimo nešto izvršiti, a pri tome više uvjeta može biti zadovoljeno, možemo koristiti if...elseif petlju • Primjer 2 (izvor: http://www.w3schools.com/php): <html> <body> <?php $d=date("D"); if ($d=="Fri") echo “Ugodan Vam vikend!"; elseif ($d=="Sun") echo “Super, nedjelja je!"; else echo “Radni je dan, provedite ga ugodno!"; ?> </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 10, Primjer 2. Primjer ispisuje jednu poruku ako je dan u tjednu petak, drugu poruku ako je nedjelja, a treću u ostalim slučajevima. M. Zekić-Sušac
Petlja switch • Ova petlja koristi se kada se želi provjeriti nekoliko vrijednosti varijabli ili izraza, te izvršiti jedan od nekoliko skupova naredbi • Sintaksa: switch(izraz) { case vrijednost1: naredbe iz bloka1 break; case vrijednost2: naredbe iz bloka2 break; default: naredbe koje će se izvršiti ako je izraz različit od vrijednost1 i vrijednost2 } Vrijednosti izraza mogu biti numeričke i tekstualne. Ako su tekstualne, navode se pod navodnicima. M. Zekić-Sušac
Primjer petlje switch Primjer ispisuje poruku ovisno o tome kolika je vrijednost varijable $x: <html><body> <?php switch ($x) { case 1: echo “Broj je 1"; break; case 2: echo " Broj je 2"; break; case 3: echo " Broj je 3"; break; default: echo “Broj nije između 1 i 3"; } ?></body> </html> M. Zekić-Sušac
Spajanje stringa i varijable pri ispisu • Ukoliko pri ispisu želimo spojiti neki tekst (string) i varijablu, za spajanje se koristi znak točke “.” (za razliku od JavaScript-a gdje se koristi “+”). • Primjer: <html> <body> <?php $ime=“Pero”; $godRodj=“1985.”; echo $ime . "je rođen" . $godRodj . “ godine."; ?> </body> </html> Primjer će ispisati poruku “Pero je rođen 1985. godine.” M. Zekić-Sušac
Upotreba nizova u PHP-u • Kada se koristi niz? Niz se koristi kada želimo pohraniti jednu ili više vrijednosti pod isti naziv varijable. To je praktičnije nego imati više sličnih varijabli. • Kako funkcionira niz? Niz se sastoji od elemenata, a svaki element ima svoj ID (identifikator), koja se označava u uglatim zagradama, npr. $ime[0], $ime[1], $ime[2] …. itd. Postoje tri vrste nizova u PHP-u: • Numerički niz – niz sa numeričkim identifikacijskim ključem • Asocijativni niz – niz u kojem je ID ključ povezan s nekom vrijednošću • Višedimenzionalni niz – niz koji sadrži jedan ili više nizova M. Zekić-Sušac
Numerički niz • Numerički niz može se kreirati na dva osnovna načina. • Prvi način – automatsko dodjeljivanje ID ključa: $ime = array("Petar",“Marko",“Ivo"); • Drugi način – ručno dodjeljivanje ključeva: $ime[0] = "Petar"; $ime[1] = “Marko"; $ime[2] = “Ivo"; M. Zekić-Sušac
Upotreba niza u PHP skripti • Primjer upotrebe niza: <html> <body> <?php $ime[0] = "Petar"; $ime[1] = “Marko"; echo $ime[1] . " i " . $ime[2] . " su susjedi.”; ?> </body> </html> Za provjeru ovog primjera kliknite na stranicu kolegija, izabrati Predavanje 10, Primjer 3. M. Zekić-Sušac
Literatura: • W3C, PHP Tutorial, http://www.w3schools.com/php/, 28.04.12. M. Zekić-Sušac