PHP Programiranje-Maturalni Rad (u Boji)

Embed Size (px)

Citation preview

TEHNIKA KOLA RUERA BOKOVIA GETALDIEVA 4, ZAGREB

ZAVRNI STRUNI RAD:

PHP programiranje

MENTOR: Braslav Erpai

UENIK: Jurica Galovi RAZRED: 4.H

U Zagrebu, 8. travnja 2011.

0

SADRAJ1. UVOD..........................................................................................................2 2. PHP..............................................................................................................32.0 to je PHP? ...................................................................................................................3 2.1 Sintaksa PHP-a..............................................................................................................3 2.2 Rad s varijablama..........................................................................................................4 2.2.0 Tipovi varijabli............................................................................................4 2.3 Operatori u PHP-u.........................................................................................................4 2.3.0 Operatori za matematike operacije.................................................................5 2.3.1 Operatori za logike operacije.........................................................................6 2.3.2 Operatori za usporeivanje..............................................................................7 2.3.3 Kombinirani operatori......................................................................................8 2.4 Funkcije if i else............................................................................................................9 2.5 Arrays ( nizovi )...........................................................................................................11 2.5.0 Cjelobrojni niz................................................................................................12 2.5.1 Tekstualni niz..................................................................................................13 2.5.2 Multidimenzionalni niz...................................................................................14 2.6 Petlje u PHP-u.............................................................................................................14 2.7 Funkcije PHP-a...........................................................................................................17 2.8 Forme..........................................................................................................................19 2.8.0 $_GET metoda...............................................................................................19 2.8.1 $_POST metoda.............................................................................................20 2.9 Funkcija include( ).......................................................................................................21

3. TEHNIKE PHP PROGRAMIRANJA.......................................................223.0 Izbacivanje nepotrebnih razmaka iz stringa.................................................................22 3.1 Traenje stringa ili stringa unutar stringa.....................................................................23 3.2 Provjera postojanja znaka ili stringa unutar stringa......................................................24 3.3 Ispis odreenog dijela stringa.......................................................................................24 3.4 Manipuliranje HTML markupom.................................................................................25 3.5 Rezanje i lijepljenje stringa..........................................................................................26 3.5.0 explode( ) funkcija.......................................................................................26 3.5.1 implode( ) funkcija.......................................................................................27 3.6 PHP i Web serveri.........................................................................................................28

4. USPOREDBA PHP-a i C-a.......................................................................294.0 Razlike izmeu PHP-a i C-a........................................................................................29 4.1 Slinosti izmeu PHP-a i C-a......................................................................................30

5. IZRADA PROGRAMA U PHP PROGRAMSKOM JEZIKU.................325.0 Poetni dio stranice.......................................................................................................32 5.1 Poetna stranica............................................................................................................35 5.2 Primjer 1 - brisanje bijelog prostor...............................................................................36 5.3 Primjer 2 - rastavljanje teksta funkcijom explode( )....................................................37 5.4 Primjer 3 - zamjena rijei.............................................................................................38 5.5 Primjer 4 - ispitivanje parnosti pomou if( ) funkcije..................................................40 5.6 Primjer 5 - primjer switch( ) petlje...............................................................................41 5.7 Primjer 6 - lepeza boja pomou for( ) petlje................................................................42 5.8 Stranica o meni............................................................................................................43 5.9 Zavrni dio stranice......................................................................................................45

6. SAETAK.................................................................................................46 7. LITERATURA..........................................................................................47

1

1. UvodModa nam se svima ini da je Internet sa nama cijelu vjenost, iako se njegova popularizacija dogaa krajem 20. i u 21. stoljeu. Taj period je bio dovoljan za procvat i komercijalizaciju kako Interneta tako i Web stranica. Kada se spominje Internet kao izvor i medij za razmjenu informacija, prva stvar na koju pomislimo su Web stranice. One postoje od samog poetka stvaranja Interneta, ali do izraaja dolaze tek nakon stvaranja Web kataloga i poslije njih pametnih Web trailica. Prve Web stranice bazirale su se na HTML jeziku te su kao takve bile statine. Unutar HTML datoteke ispisan je HTML kod u kojem je definiran izgled stranice, njen sadraj, forma i stil. Glavni problem takvih stranica je nepraktinost njihovog odravanja upravo zbog pomijeanosti tih nesrodnih karakteristika u jednoj te istoj datoteci. Ovaj problem bio je gotovo nerjeiv kod velikih stranica na kojima se esto mijenja sadraj. Pronalazak i izmjena neke od linija koda bio je dug, mukotrpan i neekonomian posao, a mogle su ga obavljati samo iznimno kompetentne osobe koje su vrlo dobro poznavale HTML jezik. Sasvim je oito da su bile potrebne promjene, a one se ubrzo dogaaju u smislu razvoja novih tehnologija i naina njihove primjene. Tako se, na primjer, pojavljuje CSS jezik koji odvaja stil i izgled stranice od samog HTML koda, pojavljuje se Javascript jezik koji oivljava HTML elemente, ali se i sve ee same informacije uvaju na zasebnim mjestima i to u raznim bazama podataka. Moda se ini da je HTML kod zastario i da vie nije potreban u Internetskom svijetu, ali to je i danas glavni jezik zasluan za prikaz Web stranica. Svaka stranica koju danas gledamo u naem pregledniku, isto kao i prije, zapisana je u HTML-u. Jedina razlika je da su dananje stranice puno pametnije te nam nee uvijek poslati jedan te isti HTML kod ve e to napraviti na nain koji nama najvie odgovara ili vrlo esto, koji mi sami odluimo. Takve stranice temeljene na umjetnoj inteligenciji zovu se dinamike stranice, a jedna od vodeih tehnologija pri njihovoj izradi je PHP.

2

2. PHP2.0 to je PHP?PHP je kratica za PHP: Hypertext Preprocessor, drugim rijeima PHP je snaan alat za izradu dinamikih i interaktivnih Web stranica, a jednostavno ga je opisati kao programski jezik ugradiv u HTML kod. Sintaksa PHP programiranja slina je sintaksi poznatih programskih jezika kao to su C, C++ ili Java i zato je jednostavna za nauiti i zapamtiti. Za razliku od nekih drugih skriptnih jezika PHP je besplatan i svi ga mogu koristiti. Takoer je kompatibilan sa veinom Web servera, operativnih sustava i baza podataka te je zbog toga razloga postao jedan od najrairenijih skriptnih jezika za razvoj Web stranica. Cijela ideja dinamikih stranica je da se sakupe podaci od korisnika i da se sadraj prilagodi samom korisniku. Interakcija sa korisnikom postaje kljuna, a odvija se najee putem HTML formi gdje korisnik unosi traene podatke te ih alje PHP stranici na server. Kod takvih PHP stranica kod nije vidljiv korisniku ve je prethodno procesiran na serveru. Prilikom procesiranja, PHP parser odluuje koji e sadraj biti prikazan korisniku,a koji nee. Takav dinamian pristup odreivanja sadraja, gdje se glavni dio posla obavlja korisniku iza lea glavna je odlika serverskih skriptnih jezika poput PHP jezika. PHP datoteke sadre tekstualni dio, HTML tag-ove i skripte. Te datoteke se posjetitelju neke stranice vraaju kao obini HTML iako su nastavci za PHP datoteke ".php", ".php3" , ili ".phtml".

2.1 Sintaksa PHP-aSkriptni blok PHP-a uvijek zapoinje sa i moe biti smjeten na bilo kojoj poziciji u nekom dokumentu. Na nekim serverima skriptni blok PHP-a moe zapoeti sa , ali ti serveri takoer prihvaaju i prvi nain zapisa koji je standardna forma pa je preporuljivo koristiti taj zapis za maksimalnu kompatibilnost. No prije svega, kao znak za poetak koda svake stranice se koristi funkcija i isto tako kao zavretak koda se koristi . Kao i u C i C++ jeziku, u PHP-u se kao indikator za zavretak naredbe i za odvajanje jedne naredbe od druge stavlja ; (toka zarez). Za prikazivanje teksta posjetitelju se koriste dvije osnovne funkcije, a to su: echo( ) i print( ). Pomou te dvije funkcije je mogue ispisati niz znakova koji e onda biti prikazani u Web pregledniku. No, da bi se prikazale i izvrile funkcije koje su zapisane u PHP programskom jeziku, datoteka mora biti spremljena u slijedeem obliku: imedatoteke.php. Na primjer:

Ova linija koda e pregledniku poslati poetni i zavrni tag ( kljunu rije ) i tekst paragrafa ( "Neki tekst" ) dok e PHP tagovi i echo funkcija ostati skriveni.

3

2.2 Rad s varijablamaVarijable koristimo kako bi pohranili neku vrijednost u njih kao na primjer neki broj, neku rije i tome slino. Kad deklariramo varijablu ona se moe u skripti koristiti beskonaan broj puta. Varijable se u PHP-u ne moraju deklarirati prije nego to im se dodjeli neka vrijednost niti se mora rei kojeg je tipa podatak kojeg emo upisati u tu varijablu nego PHP automatski konvertira ( pretvara ) varijablu u tip podatka koji e se u tu varijablu upisati. No, ipak postoje pravila koja se trebaju slijediti pri deklariranju i koritenju varijabli u PHP-u. Prvo od vanijih pravila je to da sve varijable ( nevano o tipu varijable ) u PHP-u poinju sa $ pa je prema tome toan nain deklariranja varijable sljedei: $ime_varijable = vrijednost; Bez znaka $ deklaracije e biti bezuspjena. Primjer za deklariranje string i brojane varijable:

Takoer, postoje pravila za davanje imena varijablama. Po tim pravilima ime varijable mora poeti sa slovom ili sa znakom "_" . Ime varijable moe sadravati slova engleske abecede ( A-Z, a-z ), brojeve ( 0-9 ) i donju povlaku "_", zatim, u imenu ne bi trebao biti niti jedan razmak i na kraju, ako ime sadrava dvije ili vie rijei, te se rijei odvajaju sa donjom povlakom ( $veliki_broj ) ili sa drugim slovom velikim ( $velikiBroj ).

2.2.0 Tipovi varijabliPHP sadri osam osnovnih tipova varijabli. Prvi tip jest integer varijabla u koju se spremaju cjelobrojni brojevi ( pozitivni i negativni ), drugi tip jest float ili drugim rijeima double, u takvu vrstu varijable se pohranjuju decimalni brojevi. Trei tip varijabli u PHP-u jest boolean tip koji ima dva stanja ( True i False ), sljedei tip je string varijabla koja slui za pohranjivanje tekstualnih podataka, peti tip varijabli su arrays varijable, to jest varijable koje sadre vie podataka u sebi. Postoje i varijable objects tipa, i na kraju resources varijable. Posljednji tip varijabli je specijalna varijabla NULL koja u sebi ne sadri nita. etiri su skalarna tipa varijabli i to su: integer, float ( double ), boolean i string. Dvije su vrste spojnih varijabli i to su arrays i objects. I na kraju, samo je NULL tip poseban tip varijabli u PHP-u.

2.3 Operatori u PHP-uPostoje etiri osnovne skupine operatora, a to su: operatori za matematike operacije, operatori za logike operacije, operatori za usporeivanje i kombinirani operatori ( sadre vie operacije u sebi ). No nema smisla koristiti operatore ako u se u varijablama ne nalaze nikakve vrijednosti. U skladu s tom tvrdnjom varijablama je

4

potrebno dati neku vrijednost prije nego to se one koriste u daljnjem kodu. To obavljamo sa znakom " = " na sljedei nain :

2.3.0 Operatori za matematike operacijePrva grupa operatora su operatori za matematike operacije. To su operatori za zbrajanje, oduzimanje, mnoenje, dijeljenje, raunanje ostatka dijeljenja, inkrementiranje ( poveanje vrijednosti varijable za jedan ) i dekrementiraje ( smanjenje vrijednosti varijable za jedan ). Napravio sam tablicu za svaku od vrsta operatora kako bih pokazao njihovo djelovanje, izgled i naziv na primjerima. Prva tablica prikazuje operatore za matematike operacije. Kao to sam rekao ti operatori obavljaju operacije zbrajanja, oduzimanja, dijeljenja, mnoenja, raunanja ostatka dijeljenja, inkrementiranja i dekrementiranja.

OPERATOR+

OPERACIJAZBRAJANJE

PRIMJER$x = 4 $x + 3 $x = 6 $x 2 $x = 3 $x * 5 $x = 10 $x / 2 $x = 5 $x / 2 $x = 10 $x++ $x = 10 $x-$x = 5 $x / 2 $x=10 $x /5 5

REZULTAT7

-

ODUZIMANJE

4

*

MNOENJE

15

/

DIJELJENJE

2.5

%

OSTATAK DIJELJENJA

1

0

++

INKREMENTIRANJE

11

--

DEKREMENTIRANJE

9

5

2.3.1 Operatori za logike operacijeSljedea tablica prikazuje operatore za logike operacije. Ti operatori obuhvaaju logike operacije I, ILI i NE. Rezultati tih operacija nam ovise o uvjetima koje smo postavili, pa prema tome vraaju istinu ili la. Za logike operacije I i ILI postavljaju se minimalno dva uvjeta. Kod logike operacije I moraju biti zadovoljeni svi uvjeti kako bi nam se vratila istina ( u suprotnom se vraa la ), a kod logike operacije ILI mora biti zadovoljen bar jedan od postavljenih uvjeta kako bi nam se vratila istina ( u suprotnom se vraa la ). Kod logike operacije NE postavlja se samo jedan uvjet i ako je on zadovoljen vraa se la ( suprotnost od pravog rezultata ), odnosno rezultat se invertira. Ovo objanjenje prikazuje sljedea tablica logikih operatora koja se nalazi ispod teksta.

OPERATOR

OPERACIJA

PRIMJER$x = 3 $y = 5 ( $x < 5 && $y > 2 )

REZULTAT

&&

I ( and )

uvjeti su zadovoljeni, vraa se istina

ILI ( or ) ||

$x = 7 $y = 4 ( $x = = 5 | | $y = = 5 ) $x = 6 $y = 3 ! ( $x = = $y )

uvjeti nisu zadovoljeni, vraa se neistina

!

NE ( not )

uvjet nije zadovoljen, rezultat je la, ali operacija NE ju invertira i daje rezultat istina

6

2.3.2 Operatori za usporeivanjeTrea vrsta operatora su operatori za usporeivanje koji se koriste za usporeivanje raznih vrijednosti. Koriste se kako bi se usporedile vrijednosti koje se nalaze u nekim varijablama pa tako moemo ispitati dali je vrijednost u nekoj varijabli vea, manja ili ne/jednaka nekoj drugoj vrijednosti. Iako vrijednosti ne moraju biti upisane u neke varijable kako bi se mogle ispitivati, veinom se ispituju vrijednosti koje se nalaze unutar nekih varijabli. Operatori za usporeivanje nam vraaju logike vrijednosti kao i u prolom primjeru za logike operatore u obliku 1 za istinitu tvrdnju i 0 za lanu tvrdnju. Zamislimo da je u varijabli $x upisana vrijednost 5 te da tu varijablu usporeujemo s vrijednostima kako je prikazano u sljedeoj tablici. Sljedea tablica prikazuje stanja, oznake, primjere i djelovanje operatora za usporeivanje.

OPERATOR==

OPERACIJAJEDNAKO

PRIMJER$x = = 8

REZULTATuvjet nije zadovoljen, rezultat je la uvjet je zadovoljen, rezultat je istina uvjet je zadovoljen, rezultat je istina uvjet je zadovoljen, rezultat je istina uvjet nije zadovoljen, rezultat je la uvjet nije zadovoljen, rezultat je la uvjet je zadovoljen, rezultat je istina

!=

RAZLIITO

$x ! = 8

RAZLIITO

$x < > 5

>

VEE OD

$x > 3

=

VEE ILI JEDNAKO OD MANJE ILI JEDNAKO OD

$x > = 8

Funkciju if( )...else koristimo kada elimo da se dio koda izvri samo ako je neki zadani uvjet ispunjen, a u suprotnom elimo izvriti dio koda ako taj uvjet nije ispunjen. Tih uvjeta, kao i u if( ) funkciji moe biti vie i za njihovo povezivanje koristimo logike operatore I i ILI. Sva pravila vrijede kao i kod funkcije if( ). Ako uvjet unutar if( ) funkcije nije ispunjen, tada se kod unutar if( ) funkcije preskae i izvrava se kod unutar else funkcije, u suprotnom se izvrava kod unutar if( ) funkcije, a preskae se kod unutar else funkcije kao i u C programskom jeziku. Sintaksa je sljedea:

Primjer zadavanja naredbe pomou if( )...else funkcije:

Funkciju if( )...elseif( )...else koristimo kada trebamo odabrati jedan od vie dijelova koda koji e se izvriti. U if( ) i elseif( ) dio upisujemo uvjete koji trebaju biti izvreni, ako niti jedan od uvjeta nije ispunjen izvriti e se else dio. Sintaksa je sljedea:

10

Primjer zadavanja naredbe pomou if( )...elseif( )...else funkcije:

Switch( ) funkciju koristimo kada zadamo vie upita, odnosno usporeujemo neku zadanu varijablu sa vie vrijednosti i ako je ona jednaka nekoj od tih vrijednosti izvravamo zadani kod, a ako nije jednaka nijednoj od tih vrijednosti izvrava se neki default koji smo zadali. Vano je da nakon svakog sluaja upiemo brake jer u sluaju da je jedan od prijanjih sluaja bio toan on e se ispisati,ali ako brake nije upisan daljnji upiti e se izvravati. Sintaksa je sljedea:

je jednak 1. " ;

je jednak 2. " ;

je jednak 3. " ;

se ne nalazi u intervalu od 1 do 3. " ;

2.5 Arrays ( nizovi )Array, ili na hrvatskom jeziku NIZ jest posebna varijabla u koju moemo pohraniti vie slinih vrijednosti unutar jedne varijable pomou indeksiranja. Postoje tri razliita tipa arraya: cjelobrojni ( numeric ), tekstualni ( associative) i multidimenzionalni.

11

2.5.1 Cjelobrojni nizCjelobrojni niz pohranjuje svaki element niza pomou brojanog indeksa. Sintaksa je takva da uz klasino dodjeljivanje vrijednosti varijabli nakon znaka jednakosti upiemo array i nakon toga otvorimo zagradu u koju izmeu apostrofa upisujemo vrijednosti koje elimo upisati u svaku pojedinanu varijablu odvojene zarezima. Indeksi pojedinanim varijablama se automatski pridodaju i poinju od nule. Primjer zadavanja niza automatskim dodjeljivanjem indeksa se nalazi ispod teksta:

Postoji i mogunost u kojoj vlastoruno pridodajemo indekse. Vrijede ista pravila kao i kod automatskog dodjeljivanja, ali za svaku varijablu unutar niza potrebno je posebno, unutar vitiastih zagrada upisati indeks te varijable. Primjer zadavanja niza vlastorunim dodjeljivanjem indeksa:

= = = =

"Ivan" ; "Marko" ; "Matea" ; "Marija" ;

Primjer primjene cjelobrojnog niza sa vlastorunim dodjeljivanjem indeksa u kojem ispisujemo imena koja poinju na slovo "M" izgleda ovako:

Drugi nain indeksiranja se izvodi tako da svaku varijablu unutar niza posebno indeksiramo. To jest, za svaku varijablu unutar niza potrebno je posebno, unutar vitiastih zagrada i izmeu jednostrukih navodnika napisati indeks te varijable. Vrijednost varijablama niza dodjeljuje se tako da se nakon indeksiranja varijabli upisuje znak jednakosti iza kojeg slijedi vrijednost koja e biti upisana u tu varijablu i koja se nalazi izmeu navodnih znakova ( dvostrukih ). Primjer ispod teksta prikazuje indeksiranje i dodjeljivanje vrijednosti varijablama niza sa istim djelovanjem kao i u prvom primjeru, ali na drugi nain indeksiranja.

Odsjeak koda ispod teksta prikazuje kako bi dodijelili vrijednosti i indeksirali varijable unutar niza $starost te na kraju ispisali vrijednost koja se nalazi u varijabli $starost[ 'Ivor' ]:

13

Rezultat ovog programskom odsjeka je sljedei: " Ivor ima 28 godina. "

Ivor ima 28 godina.

2.5.3 Multidimenzionalni nizU multidimenzionalnom nizu svaki element glavnog niza moe biti sam po sebi jo jedan niz. Svaki element tog manjeg niza moe sam po sebi biti niz, i tako dalje. Vrijednostima multidimenzionalnog niza pristupa se sa viestrukim indeksima, to jest svakom elementu glavnog niza pristupamo tako da indeksiramo taj element i elemente koje on sadri u sebi. Sam nain indeksiranja moemo birati, kao i u tekstualnom i cjelobrojnom nizu. Moemo i kombinirati naine indeksiranja ( automatski ili vlastoruni nain ), ali moemo i koristiti oba naina indeksiranja. Vrijednosti varijablama unutar niza/nizova dodjeljujemo kao i u prijanjim vrstama nizova. Primjer izrade multidimenzionalnog niza se nalazi ispod teksta:

U ovom programskom odsjeku se unutar niza $kompanije jo nalaze dva niza,a to su agrokor i zg_holding, te se unutar niza agrokor nalaze varijable Konzum, Ledo, Jamnica, a unutar niza zg_holding se nalaze varijable ZET, Cistoca.

2.6 Petlje u PHP-uelimo li napisati dio koda koji e se u programu stalno ponavljati. Ako nam je to potrebno, onda umjesto da isti ili slian red piemo puno put koristimo petlje. Petlje nam omoguuju da se odreeni odsjeak koda izvrava potreban broj puta. PHP podrava slijedee etiri vrste petlji: while( ), for( ), do...while( ), foreach( ). While( ) petlja nam omoguava izvravanje odreenog dijela koda sve dok je neki uvjet ispunjen. U trenutku kad taj uvjet vie nije ispunjen taj dio koda se preskae i prestaje se izvravati. Uvjet se ispituje pomou operatora za usporeivanje. Sintaksa je takva da nakon while-a u, zagrade upisujemo uvjet koji treba biti ispunjen i upisujemo naredbe unutar vitiastih zagrada while-a. Vano je da promijenimo stanje varijable koja

14

se ispituje u uvjetu ( poveamo ili smanjimo ) jer e u suprotnom biti napisana beskonana petlja. Sintaksa izgleda ovako:

While petlja se moe koristiti u brojnim sluajevima, ali njezin princip je uvijek isti. Ispod teksta se nalazi primjer primjene while petlje:

For( ) petlju koristimo kada tono odreeni dio koda moramo izvriti tono odreeni broj puta. Varijablu koju ispitujemo unutar for petlje najee nazivamo $i. Kao i u while( ) petlji potrebno je zadati neki uvjet koji mora biti ispunjen da bi se petlja izvravala, za definiranje tog uvjeta koristimo operatore za usporeivanje. Petlja se sa stoji od tri dijela i to su: postavljanje varijable u poetnu vrijednost, ispitivanje uvjeta, mijenjanje vrijednosti varijable ( inkrementiranje ili dekrementiranje ). Svaki od ta tri dijela su odvojeni sa tokom zarez. Sintaksa for petlje je sljedea:

Primjer programskog odsjeka u kojem se koristi for petlja se nalazi ispod teksta:

15

Do...while( ) petlja e izvriti zadani kod jedanput, a zatim e provjeriti je li uvjet koji je zadan ispunjen, pa ako jest e izvriti opet taj zadani kod, a ako nije e ga preskoiti i izvravati daljnji kod programa. Zadani kod unutar do dijela e se izvravati sve dok je uvjet ispunjen. Vano je naglasiti da u do...while( ) petlji nakon do ne ide toka zarez, a nakon while( ) obavezno ide! Sintaksa je sljedea :

Primjer koritenja do...while( ) petlje je sljedei:

Foreach( ) se koristi za petlje sa nizovima ( array ). Foreach petlja prolazi kroz niz i za svaki skok koji napravi se koristi vrijednost elementa niza na kojoj se u tom trenutku nalazi foreach petlja i nakon tog skoka vrijednost petlje se podie za jedan, to jest petlja skae na sljedei element niza koji e biti obraen pri slijedeem skoku foreach petlje. Sintaksa je takva da unutar zagrada foreach petlje upisujemo naziv niza as $value i to se prikazuje na sljedei nain:

16

Primjer zadavanja naredbi pomou foreach( ) petlje je sljedei:

Nakon pokretanja ovo programskog odsjeka na zaslonu e nam se prikazati slijedee:Vrijednost Vrijednost Vrijednost Vrijednost Vrijednost niza niza niza niza niza iznosi iznosi iznosi iznosi iznosi 1 2 3 4 5 . . . . .

2.7 Funkcije PHP-aFunkcija je u biti ime koje zadajemo skupini naredbi koju moemo pozvati bilo gdje unutar koda. Ime funkcije ne smije poeti sa brojem,a mora poeti sa donjom povlakom ( _ ) ili sa bilo kojim slovom ( velikim ili malim ). Pomou funkcija moemo utedjeti puno na vremenu i pisanju, te uiniti kod itljivijim i razumljivijim kako nama tako i nekome tko ga prvi put prouava. Preporuljivo je funkciji zadati ime koje je asocijativno onome to ta funkcija radi. Naredbe funkcije e se izvriti u trenutku kad funkciju pozovemo. Postoje tri osnovna pravila u sintaksi funkcije i to su: 1) funkciju uvijek moramo zapoeti sa kljunom rijei function 2) naredbe funkcije zapisujemo unutar vitiastih zagrada { } Sintaksa koju koristimo kod funkcija je sljedea:

17

Primjer jednostavne funkcije koja e ispisati zadani tekst se nalazi ispod teksta:

Ovaj program e na zaslonu korisnika prikazati slijedee:

Svia li vam se ova stranica ?

Kako bi funkciju uinili korisnijom i funkcionalnijom moemo joj dodati neke parametre. Parametri su odreeni unutar zagrada ( ) funkcije. Parametri slue za slanje informacija funkciji koje e ona koristiti i obraivati. Parametri izgledaju kao i obine varijable PHP-a. Pomou parametara moemo funkciju uiniti mnogo korisnijom i tako moemo funkciju vie puta koristiti u kodu. Kako bi u parametar, koji smo zadali unutar zagrada funkcije, neto upisali potrebno je u glavnom kodu pozvati funkciju i unutar zagrada poziva funkcije napisati koju vrijednost ili varijablu aljemo funkciji da ju ona obradi. To djelovanje funkcije sam objasnio na slijedeem primjeru:

Upotrebom ove funkcije emo dobiti ovakav prikaz na zaslonu:Pozdrav Pozdrav Pozdrav Pozdrav Mario. Ti ima 18 godina. Darko. Ti ima 19 godina. Ana. Ti ima 17 godina. Slavica. Ti ima 45 godina.

Vana je napomena da pri upotrebi slova izvan engleske abecede, kao to je u ovom sluaju slovo datoteku moramo spremiti kao UTF-8 tip datoteke.

18

2.8 Formeesto se u PHP-u koristi aplikacija koja u HTML obliku prikuplja podatke od korisnika, a nakon toga koristi PHP oblik kojim obrauje te prikupljene podatke. Ta aplikacija se naziva forma, iako u sutini ona nije aplikacija, ve vrsta koda koja ima slinosti sa aplikacijom. U formama koristimo $_GET i $_POST funkcije kako bi dobili eljenih ( traenih ) podataka od korisnika koji e se dalje obraivati. Korisno je znati da svaki element ( podatak ) HTML forme je dostupan i PHP formi. Kako bi znali raditi sa formama moramo znati raditi sa funkcijama $_GET i $_POST. Analogno tome, postoje dvije metode prikupljanja podataka od korisnika te su te dvije metode i dvije metode pisanja formi.

2.8.0 $_GET metodaKoristi se kako bi prikupili informacije od korisnika metodom get . Podaci poslani sa get formom su vidljivi svima ( biti e prikazani na adresnoj traci Web preglednika unutar URL-a ) i postoji odreena maksimalna koliina podataka koji se mogu poslati tom metodom. Zbog toga to su podaci koji se alju vidljivi svima nije preporuljivo koristiti ovu metodu pri slanju zaporki i osobnih podataka. Meutim dobra strana ovakvog slanja podataka je ta to moemo spremiti kraticu odreene Web stranice ( bookmark ) unutar naih Web pretraivaa. Pri koritenju $_GET funkcije potrebno je napisati HTML dio koda i PHP dio koda koji e obraditi dobivene informacije. Primjer bi izgledao ovako: HTML dio: Ime: Grad:

19

PHP dio:Dobrodoao .
Mjesto boravka ti je:

Nakon pokretanja ovoga koda na ekranu e nam se pojaviti prostor za upis podataka. Bit e nam ponuen upis imena i grada. Nakon to ih upiemo (npr. Ivan; Zagreb ) i potvrdimo podatke tako da stisnemo Predaj upit, na ekranu e biti ispisano slijedee:

Dobrodoao Ivan. Mjesto boravka ti je: Zagreb.

2.8.1 $_POST metodaKoristi se kako bi prikupili informacije od korisnika metodom post . Podaci koji se alju ovom metodom su nevidljivi drugim korisnicima i ne postoji ogranienje koliine podataka koju aljemo ovom metodom, odnosno koliina podataka poslana ovom metodom nije ograniena. Meutim maksimalna mogua koliina podataka koja se moe slati ovom metodom jest 8 Mb, ali ta se koliina moe mijenjati pa je analogno tome koliina podataka neograniena. Sintaksa ove metode je gotovo ista kao i kod get metode. Kljuna je razlika ta to u ovoj metodi pod method= upisujemo post umjesto get i to nitko ne moe znati koje smo podatke poslali jer oni nisu upisani u URL tijekom slanja. Ovu je metodu preporuljivo koristiti pri situacijama u kojima aljemo privatne ili nama vane podatke kako ih drugi ne bi imali mogunosti vidjeti. Kao i kod koritenja $_GET funkcije, pri koritenju $_POST funkcije postoje dva dijela koda i to su HTML dio i PHP dio. Primjer se nalazi ispod teksta: HTML dio: Ime: Grad:

20

PHP dio:Dobrodoao .
Mjesto boravka ti je:

U PHP dijelu je potrebno promijeniti $_GET vrstu niza u $_POST vrstu niza kako bi kod funkcionirao. Nakon pokretanja ovoga koda na ekranu e nam se pojaviti prostor za upis podataka. Bit e nam ponuen upis imena i grada. Nakon to ih upiemo (npr. Ivan; Zagreb ) i potvrdimo podatke tako da stisnemo Predaj upit, na ekranu e biti ispisano slijedee:Dobrodoao Ivan. Mjesto boravka ti je: Zagreb.

2.9 Funkcija include( )Pomou include( ) funkcije moemo umetnuti sadraj jedne PHP datoteke u drugu PHP datoteku bez prepisivanja cijelog koda i bez izvravanja glavnog dijela koda. Ova funkcija je vrlo korisna i funkcionalna. Zamislimo da imamo velik broj linkova koji koriste isti dio koda. Taj dio koda moemo napisati kao jednu PHP datoteku i pomou include( ) naredbe koristiti taj kod u svakom linku bez prepisivanja cijelog koda. Kada bi neto htjeli promijeniti u tom kodu, onda samo promijenimo u tom jednom glavnom dijelu. Ako se dogodi greka, include( ) funkcija javlja greku i nastavlja sa daljnjim radom skripte pa je i pouzdana jer ne zaustavlja rad cijele skripte nego preskae naredbe unutar include( ) funkcije i nastavlja sa radom izvan nje. Include( ) se sastoji od dva dijela. Prvi dio je kod koji je napisan u samoj include( ) funkciji. Drugi dio je naredba sa kojom taj kod unutar include( ) funkcije umetnemo u eljenu PHP datoteku. Dakle, zamislimo da smo unutar neke PHP datoteke upisali nekakav kod i da smo tu datoteku nazvali matura.php i da ju elimo umetnuti u drugu PHP datoteku. To bismo napravili na sljedei nain:

Zapisani kod e prvo izvriti naredbe koda datoteke matura.php, a zatim e ispisati: Dobar dan! jer je to u ovom sluaju jedina naredba unutar skripte u koju je umetnuta datoteka matura.php. Nije bitno to je zapisano u datoteci matura.php, dakle skripte se odvojeno izvravaju, ali unutar iste datoteke. Moemo rei da je to neka vrsta programa unutar programa kako bi lake shvatili o emu se radi i kako funkcionira include()funkcija.

21

3. TEHNIKE PHP PROGRAMIRANJASvatko tko ima bar osnovno znanje o PHP programiranju zna da su string varijable, i string openito najei tip podataka koji se koristi u PHP-u. Iz te injenice proizlazi zakljuak da je vano znati koristiti i manipulirati sa takvim tipom podataka. Na sreu programera, u PHP-u se nalaze ve gotove funkcije koje nam omoguavaju lake snalaenje unutar koda i manipulacija istog.

3.0 Izbacivanje nepotrebnih razmaka iz stringaU nekim sluajevima, pri radu sa string podacima, podaci u sebi sadre nepotrebne razmake. Postoji vie vrsta razmaka u PHP-u, ali ova etiri su osnova: 1) razmaci od jednog mjesta 2) razmaci od vie mjesta ( u PHP-u \t ) 3) znak za prijelaz u novi red ( u PHP-u \n ) 4) nulti razmak ili NULL ( u PHP-u \0 ) Korisno je za znati da se ti razmaci ne vide u HTML pogledu dokumenta, nego tek kada pogledamo izvor ( source ) dokumenta ili ako se nalaze unutar tagova za prikaz predformatiranog teksta. Iz te injenice proizlazi da se pomou slijedee tri funkcije briu i predformatirani znakovi. Ovaj problem se rjeava pomou tri PHP funkcije koje briu nepotreban bijeli prostor sa poetka stringa, kraja stringa ili sa poetka i kraja stringa. Te tri funkcije su slijedee: 1) ltrim ( $naziv_stringa ) ; - brie nepotreban bijeli prostor sa poetka stringa ( lijeve strane ) 2) rtrim ( $naziv_stringa ) ; - brie nepotreban bijeli prostor sa kraja stringa ( desne strane ) 3) trim ( $naziv_stringa ) ; - brie nepotreban bijeli prostor sa obje strane stringa Ove tri funkcije mogu brisati nepotreban bijeli prostor samo sa poetka i kraja stringa. Dakle, ne mogu brisati nepotreban bijeli prostor unutar stringa. Za to slui funkcija explode( ). Funkcija explode( ) dijeli string na niz ( array ) tako to pri svakoj pojavi razmaka dio stringa koji se nalazi izmeu prolog znaka razmaka i razmaka na kojeg je funkcija u tom trenutku naila stavlja u poseban dio niza. Za ovu funkciju su potrebna dva parametra koji se stavljaju unutar zagrada funkcije. Ti su parametri djelitelj ( govori gdje treba prekinuti string ) i naziv stringa koji dijelimo. Primjer ove funkcije se nalazi ispod teksta.

Nakon toga sam na ekranu ispisao poruku da slijedi tekst sa ispravljenim imenom. Zatim sam pomou str_replace( ) funkcije pretraio upisani tekst i pronaao traeni string i zamijenio ga sa odgovarajuim stringom. Kao zadnja naredba unutar PHP tagova napisao sam ispis tonog ( promijenjenog ) stringa. Kod cijele stranice se nalazi ispod teksta: