235
V V i i soka soka š š kola kola strukovnih strukovnih studija studija za za informacione i komunikacione tehnologije informacione i komunikacione tehnologije Beograd Beograd Osnove PHP Osnove PHP - - a a

5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

  • Upload
    halien

  • View
    222

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

Osnove PHPOsnove PHP--aa

Page 2: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Sintaksa php kodaSintaksa php kodaPoPoččetnaetna i i krajnjakrajnja oznakaoznaka koda:koda:

1.1. <? ?><? ?>

2.2. <?<?phpphp ?>?>

3.3. <script language="<script language="phpphp"> </script>"> </script>

Svi klasiSvi klasiččni simboli i atributni simboli i atributii ssuu preuzpreuzetieti iz htmliz html--aa

<?<?phpphp phpinfophpinfo(); ?>(); ?>

Page 3: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer kreiranja php kodaPrimer kreiranja php koda

<html><html><head><title> <head><title> PocetakPocetak PHPPHP--a</title></head>a</title></head><body <body bgcolorbgcolor="#000FF">="#000FF">

<?<?phpphpecho"<p><hr>"; echo"<p><hr>"; echo"Tekstecho"Tekst ispisanispisan u PHPu PHP--u"; u";

?>?></body></body></html></html>

echo echo jeje naredbanaredba zaza ispisispis nana ekranekranuu

Page 4: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<html><html><head><head><title><title>MojMoj prviprvi PHP PHP skriptskript</title></title></head></head><body><body><?<?phpphpprint print ““ZdravoZdravo narodenarode!!””;;?>?></body></body></html></html>

PrimerPrimer

Ako se u tranici nalazi bilo koja linija PHP koda, ona se nakon mora snimiti u formi ime.php

Page 5: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Eksterni fajlEksterni fajlKao i kod drugih jezika, kod u PHPKao i kod drugih jezika, kod u PHP--u se mou se možže e direktno pisati na tekudirektno pisati na tekuććoj stranici ili oj stranici ili ““uvestiuvesti”” kao kao spoljaspoljaššnji fajl.nji fajl.Funkcija include, kompletan sadrFunkcija include, kompletan sadržžaj zadatog aj zadatog spoljaspoljaššnjeg fajla postavlja u stranicu koja je taj njeg fajla postavlja u stranicu koja je taj kod pozvala.kod pozvala.Ovaj kod se Ovaj kod se ““kopirakopira”” na mesto na mesto gde je funkcija include delovalagde je funkcija include delovalaOvaj deo koda se tada ponaOvaj deo koda se tada ponašša a kao sastavni deo pokao sastavni deo poččetne straniceetne stranice

<html> <body> <?phpinclude("header.php"); ?> <p> text</p> </body> </html>

Page 6: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Sintaksa php oznakaSintaksa php oznakaSvakiSvaki iskaziskaz u u phpphp--uu moramora se se zavrzavrššiti sa iti sa ;;Iza komande dolaze znaci navoda gde se definiIza komande dolaze znaci navoda gde se definišše e na na ššta komanda delujeta komanda deluje

echo"Tekstecho"Tekst ispisanispisan u PHPu PHP--u";u";

Ukoliko je potrebno prikazati znake navoda a da Ukoliko je potrebno prikazati znake navoda a da se ne tumase ne tumačče kao sastavni deo komande kao sastavni deo komandee treba treba u u rreečči prei pre navodanavoda stavitistaviti \\

echo"Ovaecho"Ova kukućća je a je \\""haoshaos\\" !";" !";Ova Ova kukućća je a je ""haoshaos" !" !

KomentariKomentari susu odvojeniodvojeni sasa #, //, /* #, //, /* -- */*/PrvaPrva dvadva sese ddefefiniiniššu jednoredno i stavljaju se na u jednoredno i stavljaju se na popoččetak svakog pojedinaetak svakog pojedinaččnog reda, dok su druga nog reda, dok su druga dva za podva za poččetak i kraj vietak i kraj viššerednih komentaraerednih komentara

Page 7: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KomentariKomentari<?<?phpphpecho "echo "ZdravoZdravo, , svetesvete!<!<brbr>"; // >"; // OvoOvo jeje komentarkomentar u u jednomjednom reduredu// u // u stilustilu jezikajezika C++C++/* /* OvoOvo jeje blokblok komentarakomentarau u viviššee redovaredova. */. */echo "echo "ZdravoZdravo, , jojošš jednomjednom.<.<brbr>";# >";# OvoOvo jeje komentarkomentar u u stilustilu# # komandnihkomandnih okruokružženjaenja UnixaUnixa?>?><?<?phpphp/* /* SledeSledeććii red red ććee ispisatiispisati, ", "OvoOvo neneććeeispisatiispisati ninišštata."."*/*/?>?>OvoOvo neneććee ispisatiispisati <?<?phpphp # echo "# echo "nenešštoto"; ?> "; ?> ninišštata.<.<brbr>>

Page 8: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Pored klasiPored klasiččnog ispisivanja komandom echo nog ispisivanja komandom echo postoje i specijalni znaci koji ostavljaju dodatne postoje i specijalni znaci koji ostavljaju dodatne mogumoguććnostinosti

Prelazak u novi red uticajem servera, ili htmlPrelazak u novi red uticajem servera, ili html--aaecho "Halloecho "Hallo\\n";n";

echo "Hallo<BR>";echo "Hallo<BR>";

Znak za dolar\$Znak navoda\"Obrnuta kosa crta\\Horizontalni tabulator\tPovratak u prvu kolonu (carriage-return)\rNov red\nZnačenjeZnak

Tabela 2.1 Izlazne sekvence u znakovnimnizovima pod navodnicima

PrimerPrimer

Page 9: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PromenljivePromenljivePoPoččinju rezervisanim simbolom inju rezervisanim simbolom $$, nakon , nakon ččega ide ega ide promenljiva kao u htmlpromenljiva kao u html--u, tj. pou, tj. poččinju inju slovomslovom ili ili __Imena promenljivih su Imena promenljivih su keysensitivekeysensitive

Primer:Primer:$pera$pera="="PericaPerica PericPeric";";$$brojbroj=15;=15;$niz[0]=22;$niz[0]=22;$niz1[22]="$niz1[22]="milencemilence";";

••PromenljivePromenljive u u svomsvom imenuimenu mogumogu dadasadrsadržže samoe samo alphaalpha--numerinumeriččke ke karaktrekaraktre (a(a--Z, 0Z, 0--9, and _ ) 9, and _ ) ••Promenljive ne smeju da sadrPromenljive ne smeju da sadržže e n n spacespace--oveove..••Ako promenljiva ima viAko promenljiva ima višše ree rečči i moraju biti povezane sa _ ili moraju biti povezane sa _ ili međusobno spojenemeđusobno spojene..($($my_stringmy_string, , $$myStringmyString) )

Page 10: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer

Page 11: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Promenljive kod ispisaPromenljive kod ispisa

<?<?phpphp$$glumacglumac = "Marlon = "Marlon BrandoBrando";";print "$print "$glumacglumac";";// // ispisujeispisuje Marlon Marlon BrandoBrandoecho $echo $glumacglumac;;// // takođetakođe ispisujeispisuje Marlon Marlon BrandoBrandoprint $print $glumacglumac;;// // takođetakođe ispisujeispisuje Marlon Marlon BrandoBrandoprint '$print '$glumacglumac';';// // ispisujeispisuje $$glumacglumac?>?>

PrimerPrimer

Page 12: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TipoviTipovi podatakapodatakaa)a) String (String (teksttekst))b)b) Integer (Integer (CelobrojniCelobrojni brojbroj))c)c) Double (Double (RacionalniRacionalni brojbroj))d)d) NizNize)e) ObjekatObjekatf)f) NepoznatiNepoznati tiptip

ZaZa razlikurazliku odod drugihdrugih jejezika, tip podataka zika, tip podataka nene moramora dada definidefinišše programer nego PHP e programer nego PHP odluodluččuje kada uje kada ćće koji podatak tumae koji podatak tumaččiti iti kao određeni tipkao određeni tip

Page 13: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

a) a) String (String (teksttekst))

Stavljanjem pod znake navoda, Stavljanjem pod znake navoda, promenljiva je automatski postala string, promenljiva je automatski postala string, bez obzira na sadrbez obzira na sadržžajaj

PrimerPrimer$x=$x=““PeraPera””$x1=$x1=““Pera PericPera Peric””$y=$y=““55””$y1=$y1=““5.255.25””$z=$z=““Pera Peric 225/25Pera Peric 225/25””

Page 14: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Spajanje stringovaSpajanje stringovaSpajanje je proces dodavanja novog stinga na kraj prethodnogSpajanje je proces dodavanja novog stinga na kraj prethodnogSpajanje se vrSpajanje se vršši sa i sa .. (U JavaScript(U JavaScript--u je to +)u je to +)PrimerPrimer$x=$x=““PeraPera””$y=$y=““PericPeric””$z=$z=““ ””$ime= $x. $z. $y$ime= $x. $z. $ySpajanje je moguSpajanje je mogućće i kroz komandu ispisa echo (U JavaScripte i kroz komandu ispisa echo (U JavaScript--u u je to document.write)je to document.write)PrimerPrimer$x=$x=““PeraPera””$y=$y=““PericPeric””

echo echo ““Ime studenta je: $x , a prezime: $yIme studenta je: $x , a prezime: $y””DuDužžina stringa određuje se funkcijom strlenina stringa određuje se funkcijom strlen•• Primer: Primer: echo echo strlen("Hellostrlen("Hello world!"); world!"); vravraćća 12a 12

Page 15: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Funkcije za stringFunkcije za string--oveove

Page 16: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

b) b) Integer (Integer (CelobrojniCelobrojni brojbroj))

Svaka promenljiva Svaka promenljiva ččija je vrednost ija je vrednost celobrojna velicelobrojna veliččina je automatski ina je automatski određena kao tip Integerodređena kao tip IntegerBrojne vrednosti se piBrojne vrednosti se piššu bez znakova u bez znakova navodanavodaPrimerPrimer$x=55$x=55$y=$y=--123123$z=1$z=1

Page 17: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

c) c) Double (RacionalDouble (Racionalnini brojbroj))

Svaka promenljiva Svaka promenljiva ččija je vrednost ija je vrednost racionalni broj je automatski racionalni broj je automatski određena kao tip Doubleodređena kao tip DoubleBrojne vrednosti se piBrojne vrednosti se piššu bez znakova u bez znakova navodanavodaPrimerPrimer$x=0.55$x=0.55$y=$y=--2.1232.123$z=1.0$z=1.0

Page 18: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer

Page 19: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Proste matematiProste matematiččke operacijeke operacijeOperacije koje se mogu koristiti u PHPOperacije koje se mogu koristiti u PHP--u u su:su:•• Sabiranje (+)Sabiranje (+)•• Oduzimanje (Oduzimanje (--))•• MnoMnožženje (*)enje (*)•• Deljenje (/)Deljenje (/)•• Moduo (%)Moduo (%)

PrimerPrimer$x=55$x=55$y=$y=--2.1232.123$z=2*($x+ $y) $z=2*($x+ $y) -- $y/3$y/3

Page 20: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

OperatoriOperatoriPored Pored standardnihstandardnih iizzdvajajudvajaju se se sledesledećći:i:

++= $x+=5 $x= $x+5= $x+=5 $x= $x+5++= $x+=$= $x+=$y y $x= $x= $x$x+$+$y y --== $x$x--=5=5 $x= $x$x= $x--1010/=/= $x/=10$x/=10 $x= $x/10$x= $x/10*=*= $x*=10$x*=10 $x= $x= $x$x*10*10++++ $x$x++ ++ $x = $x = $x$x +1+1---- $x$x---- $x = $x = $x$x --11

Prioriteti operacija su kao i u standardnoj Prioriteti operacija su kao i u standardnoj matematicimatematici

Page 21: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

LogiLogiččki operatoriki operatori

Page 22: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KonstanteKonstantePromenljive su oznake kojima se neka vrednost Promenljive su oznake kojima se neka vrednost momožže dodeliti i u toku koda promenitie dodeliti i u toku koda promenitiKonstantama se vrednost Konstantama se vrednost ne mone možžee menjatimenjatiZa konstante se uzimaju one veliZa konstante se uzimaju one veliččine koji su ine koji su sigurno fiksne (18% PDV, 3.14 Pi, 0 stepeni tasigurno fiksne (18% PDV, 3.14 Pi, 0 stepeni taččka ka leđenjaleđenja...)...)Rezervisana reRezervisana rečč za kreiranje konstante je DEFINEza kreiranje konstante je DEFINEPrimerPrimer

ddefine(efine(““brojbroj--pipi””, 3.14), 3.14);;define(define(““CenaSveskeCenaSveske””, , 5050););

define(define(““SkolaSkola””, , ““Visoka ICTVisoka ICT””););

Page 23: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer

Page 24: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KonverzijeKonverzijePHP automatski vrPHP automatski vršši konverziju podataka u i konverziju podataka u procesu nalaprocesu nalažženja rezultata neke operacijeenja rezultata neke operacijePrimer:Primer:$x=5$x=5$y=$y=--2.52.5$a=$a=““12P12P””

$z=$x (5,automatski z vidi kao Integer)$z=$x (5,automatski z vidi kao Integer)$z=$x* $y ($z=$x* $y (--12.5, automatski z vidi kao Double)12.5, automatski z vidi kao Double)$z=$x* $a (60, jer je prepoznao broj, a P ignori$z=$x* $a (60, jer je prepoznao broj, a P ignorišše)e)

U drugim jezicima ovo nije moguU drugim jezicima ovo nije mogućće, e, nego su nego su dozvoljene operacije među istim tipovima dozvoljene operacije među istim tipovima podatakapodataka

Page 25: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Gettype i settypeGettype i settypeFunkcija gettype moFunkcija gettype možže da utvrdi tip e da utvrdi tip promenljivepromenljivePrimer: Primer:

$a=12$a=12Echo gettype($a) // vraEcho gettype($a) // vraćća rezultat Integera rezultat Integer

Funkcija settype moFunkcija settype možže da promeni tip e da promeni tip promenljivepromenljivePrimer: Primer:

$a=12$a=12settype($a, settype($a, ““stringstring””););echo gettype($a) // vraecho gettype($a) // vraćća rezultat String, a ranije a rezultat String, a ranije

bi bio Integerbi bio Integer

Page 26: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Isset, unset i emptyIsset, unset i emptyFunkcija isset se koristi da se proveri da li veFunkcija isset se koristi da se proveri da li većć postoji postoji promenljiva sa tim imenompromenljiva sa tim imenomEcho isset($a) vraEcho isset($a) vraćća 1 ako ta promenljiva postoji, a 1 ako ta promenljiva postoji, ili ili niniššta ako ne postoji (mota ako ne postoji (možže biti problem)e biti problem)

Funkcija empty (suprotna od isset) se koristi da se Funkcija empty (suprotna od isset) se koristi da se proveri da li veproveri da li većć postoji promenljiva sa tim imenompostoji promenljiva sa tim imenomEcho empty($a) vraEcho empty($a) vraćća 1 ako ta promenljiva ne postojia 1 ako ta promenljiva ne postoji

Funkcija unset se koristi da bi se uniFunkcija unset se koristi da bi se unišštila promenljiva tila promenljiva sa nekim imenom i oslobodio prostor u memorijisa nekim imenom i oslobodio prostor u memorijiunset($a) briunset($a) brišše promenljivu ae promenljivu a

Page 27: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Funkcije promenljivihFunkcije promenljivih

Page 28: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

RadRad sasa datumimadatumima i i vremenomvremenomPHP PHP imaima ugraugrađene funkcije za prikaz datuma i đene funkcije za prikaz datuma i vremena u velikom broju formatavremena u velikom broju formataFunkcija Funkcija date i date i gmdate daje mogugmdate daje moguććnost prikaza nost prikaza datuma i vremenadatuma i vremenaNajlakNajlakšša upotreba je sa echoa upotreba je sa echoKao argument se oKao argument se oččekuje format koji se oekuje format koji se oččekuje za ekuje za prikazprikaz

PrimerPrimer

<?<?phpphpecho echo gmdate(gmdate(““MM d Yd Y””););?>?>

Page 29: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 30: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

e) e) NizoviNizoviSvakiSvaki nizniz moramora dada sadrsadržži oznaku $, ime, uglastu i oznaku $, ime, uglastu zagradu, i oznaku elementa nizazagradu, i oznaku elementa nizaNe mora se inicijalno definisati promenljiva tipNe mora se inicijalno definisati promenljiva tipaaniznizNe mora se definisati inicijalna duNe mora se definisati inicijalna dužžina nizaina niza

Kreiranje niza je moguKreiranje niza je mogućće:e:a) Ka) Kreiranjem samo jednog njegovog reiranjem samo jednog njegovog ččlanalana

•• $ime_niza$ime_niza[0]= "[0]= "PeraPera"; "; •• $ime_niza$ime_niza[[11]= "]= "MikaMika";";•• $ime_niza$ime_niza[[22]= "]= "LazaLaza";";

b) b) KreiranjemKreiranjem celogcelog nizaniza•• $ime_niza$ime_niza= array ("= array ("PeraPera", "Mika", "", "Mika", "LazaLaza")")

Page 31: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer

Page 32: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NizoviNizoviNizoviNizovi automatskiautomatski definidefiniššu u svojsvoj prviprvi ččlanlan sasaindeksomindeksom 00MoMožže se promeniti numeracija kaoe se promeniti numeracija kao•• $ime_niza$ime_niza= array (= array (1=1=> "> "PeraPera", "Mika", "", "Mika", "LazaLaza");");

SadaSada jeje prviprvi element element nizaniza sasa indeksomindeksom 11

NumeracijaNumeracija nene moramora bitibiti ččakak nini brojevimabrojevima•• $ime_niza$ime_niza= array ( "p1"= array ( "p1"==> "> "PeraPera", "m1"", "m1"==> "Mika", > "Mika",

"l1""l1"==> "> "LazaLaza");");

BrzoBrzo pristupanjepristupanje elementimaelementima nizanizafor ($for ($brojacbrojac=1; $=1; $brojacbrojac<100; $<100; $brojacbrojac++)++){ echo ({ echo (ime_niza[$brojacime_niza[$brojac]) }]) }

Page 33: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

SortiranjeSortiranje nizovanizova

SortiranjeSortiranje sadrsadržžaja niza po abecednom redu aja niza po abecednom redu je funkcijom sort()je funkcijom sort()Sintaksa sort(ime_niza)Sintaksa sort(ime_niza)Ako je kao indeks niza koriAko je kao indeks niza koriššććen neki od en neki od stringova, tada se kao sortiranje koristi stringova, tada se kao sortiranje koristi funkcija asort()funkcija asort()FunFunkkcije rsort() i arsort() rade sortiranje u cije rsort() i arsort() rade sortiranje u obrnutom abecednom reduobrnutom abecednom reduFunkcija ksort() vrFunkcija ksort() vršši sortiranje sadri sortiranje sadržžaja niza aja niza prema indeksima koji su string tipaprema indeksima koji su string tipa

Page 34: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerZa nizZa niz•• $ime_niza$ime_niza[0]= "[0]= "PeraPera"; "; •• $ime_niza$ime_niza[[22]= "]= "LazaLaza";";•• $ime_niza$ime_niza[[11]= "]= "MikaMika";";

Funkcija sort($ime_niza) vraFunkcija sort($ime_niza) vraććaa•• $ime_niza[2]= "$ime_niza[2]= "LazaLaza";";•• $ime_niza[1]= "Mika";$ime_niza[1]= "Mika";•• $ime_niza[0]= "$ime_niza[0]= "PeraPera";";

Funkcija rsort($ime_niza) vraFunkcija rsort($ime_niza) vraććaa

•• $ime_niza[0]= "$ime_niza[0]= "PeraPera"; "; •• $ime_niza[1]= "Mika";$ime_niza[1]= "Mika";•• $ime_niza[2]= "$ime_niza[2]= "LazaLaza";";

Page 35: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Funkcije spajanja i rastavljanjaFunkcije spajanja i rastavljanja

Funkcija implode("separator", $ime_niza) od Funkcija implode("separator", $ime_niza) od datog niza kreira string tako datog niza kreira string tako ššto redom uzima to redom uzima jedan po jedan jedan po jedan ččlan niza i međusobno ih lan niza i međusobno ih razdvaja separatoromrazdvaja separatorom

Funkcija explode("separator", $ime_niza) Funkcija explode("separator", $ime_niza) jedinstveni string deli u odnosu na separator i jedinstveni string deli u odnosu na separator i dodeljuje elementima nizadodeljuje elementima niza

Page 36: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerZa nizZa niz•• $ime_niza$ime_niza[0]= "[0]= "PeraPera"; "; •• $ime_niza$ime_niza[[22]= "]= "LazaLaza";";•• $ime_niza$ime_niza[[11]= "]= "MikaMika";";

Funkcija $proba1= implode("," , $ime_niza) dajeFunkcija $proba1= implode("," , $ime_niza) daje$$proba1= Pera,Mika,Lazaproba1= Pera,Mika,Laza

Funkcija $proba2= explode("," , $proba1) dajeFunkcija $proba2= explode("," , $proba1) daje•• $proba2$proba2[0]= "[0]= "PeraPera"; "; •• $proba2$proba2[[22]= "]= "LazaLaza";";•• $proba2$proba2[[11]= "]= "MikaMika";";

Page 37: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Funkcije nizovaFunkcije nizova

Page 38: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TolikoToliko za sadaza sada

Page 39: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

NaredbeNaredbe

Page 40: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NaredbaNaredba ifif

SintaksaSintaksa

if (if (uslovuslov kojikoji jeje tataččanan))jedna linija koda za izvrjedna linija koda za izvrššavanjeavanje

if (if (uslovuslov kojikoji jeje tataččanan)){{

jedna linija koda za izvrjedna linija koda za izvrššavanjeavanjedrugadruga linija koda za izvrlinija koda za izvrššavanjeavanje........

}}

Page 41: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ifif<html> <html> <body> <body> <?<?phpphp

$d=$d=date("Ddate("D"); "); if ($d=="Fri") if ($d=="Fri")

{ { echo echo ““PozdravPozdrav!<!<brbr />"; />"; echo " echo " Lep provod za vikendLep provod za vikend!"; !"; echo echo ““Vidimo se u ponedeljakVidimo se u ponedeljak!"; !";

}}

?> ?> </body> </body> </html> </html>

PrimerPrimer

Page 42: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NaredbaNaredba if if -- elseelseSintaksaSintaksa

if (if (uslovuslov)){{

jedna linija koda za izvrjedna linija koda za izvrššavanjeavanje zaza tataččan uslovan uslov........

}}elseelse

{{jedna linija koda za izvrjedna linija koda za izvrššavanje avanje zaza nenetataččan uslovan uslov........

}}

Page 43: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

if if -- elseelse<html> <html> <body> <body> <?<?phpphp

$d=$d=date("Ddate("D"); "); if ($d=="Fri") if ($d=="Fri")

echo echo ““Lep provod za vikendLep provod za vikend!"; !"; else else

echo echo ““Prijatan danPrijatan dan!"; !"; ?> ?> </body> </body> </html> </html>

PrimerPrimer

Page 44: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NaredbaNaredba if if -- elseelseif if -- elseelseSintaksaSintaksa

if (if (uslovuslov 11)){{ jedna linija koda za izvrjedna linija koda za izvrššavanjeavanje

....}....}elseelseif (uslov 2)if (uslov 2)

{{ jedna linija koda za izvrjedna linija koda za izvrššavanjeavanje....}....}

elseelse{{ jedna linija koda za izvrjedna linija koda za izvrššavanjeavanje

....}....}

Page 45: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

if if -- elseif elseif -- elseelse<html> <html> <body> <body> <?<?phpphp

$d=$d=date("Ddate("D"); "); if ($d=="Fri") if ($d=="Fri")

echo echo ““Lep provod za vikendLep provod za vikend!"; !"; elseifelseif ($d=="Sun") ($d=="Sun")

echo " echo " Lepo provedite subotuLepo provedite subotu!"; !"; else echo " else echo " Prijatan danPrijatan dan!"; !";

?> ?> </body> </body> </html> </html>

PrimerPrimer

Page 46: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UgnjeUgnježždavanje davanje

if (if (uslovuslov)){{

if (if (uslovuslov 11)){{

jedna linija koda za izvrjedna linija koda za izvrššavanjeavanjedrugadruga linija koda za izvrlinija koda za izvrššavanjeavanje........

}}}}

else {....}else {....}

Page 47: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Switch Switch -- CaseCaseswitch ($switch ($imeime) ) {{

case "case "PeraPera": ": echo "echo "Dobar dan PeroDobar dan Pero";";

break;break;case "case "MikaMika":":

echo " echo " Dobar dan MikoDobar dan Miko "; "; break;break;case "case "LazaLaza":":

echo " echo " Dobar dan LazoDobar dan Lazo ";";break;break;default:default:

echo "echo "Dobar dan (vaDobar dan (vašše ime nije poznato programu)e ime nije poznato programu)";";}}

PrimerPrimer

Page 48: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PPetljeetlje WhileWhileIspisivanje reIspisivanje reččenice 10 putaenice 10 puta

$$rereččenicaenica = "= "Sutra u 15h na Sutra u 15h na ččasas !!";";$i = 0;$i = 0;

while ($i<while ($i<==10)10){{

echo $echo $rereččenicaenica;;$i++;$i++;

}}

PrimerPrimer

Page 49: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PPetljeetlje WhileWhile

<html> <html> <body> <body> <?<?phpphp$i=1; $i=1;

while($iwhile($i<=5) <=5) { {

echo echo ““Broj jeBroj je " . $i . "<" . $i . "<brbr />"; />"; $i++; $i++;

} } ?> ?> </body> </body> </html> </html>

PrimerPrimer

Page 50: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PPetljeetlje DoDo--WhileWhile

$$rereččenicaenica = "= "Sutra u 15h na Sutra u 15h na ččasas !!";";$i = 0;$i = 0;

dodo{{

echo $echo $rereččenicaenica;;$i++;$i++;

}}while ($i<while ($i<==10)10)

PrimerPrimer

Page 51: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

For For petljapetlja

for ($a=1; $a<=10; $a++)for ($a=1; $a<=10; $a++){{echo ("echo ("DobarDobar dandan !");!");}}

for ($a=1; $a<=10; $a++)for ($a=1; $a<=10; $a++){{

if ($a%2 == 0)if ($a%2 == 0){ echo ("{ echo ("BrojBroj $a $a jeje paranparan brojbroj !");}!");}

}}

Page 52: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ForeachForeach

KoristiKoristi se se najnajččeeššćće kod nizova, i to kada e kod nizova, i to kada se ne zna kolika je duse ne zna kolika je dužžina niza da bi se ina niza da bi se kreirala klasikreirala klasiččna for petljana for petljaOva petlja prolazi kroz sve elementeOva petlja prolazi kroz sve elemente

<html> <body> <?php

$arr=array("one", "two", "three"); foreach ($arr as $value) { echo "Value: " . $value . "<br />"; } ?> </body> </html>

Page 53: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ForeachForeach

Page 54: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ContinueContinue -- BreakBreak

Page 55: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Funkcije list i eachFunkcije list i eachProblem moProblem možže da nastane kada se u niz upisuju e da nastane kada se u niz upisuju vrednosti sa indeksima koji nisu susedni.vrednosti sa indeksima koji nisu susedni.Tada postoji veliki broj "rupa" u nizu i dosta Tada postoji veliki broj "rupa" u nizu i dosta vremena je potrebno da se izgubi na prikaz svih vremena je potrebno da se izgubi na prikaz svih podataka, da bi se stiglo do podataka, da bi se stiglo do žželjeniheljenih

PrimerPrimer•• $ime_niza$ime_niza[0]= "[0]= "PeraPera"; "; •• $ime_niza$ime_niza[[9292]= "]= "LazaLaza";";•• $ime_niza$ime_niza[[961961]= "]= "MikaMika";";

Funkcije list i each omoguFunkcije list i each omoguććavaju da se vrate avaju da se vrate samo oni indeksi i elementi koji imaju vrednostsamo oni indeksi i elementi koji imaju vrednost

Page 56: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Funkcije list i eachFunkcije list i eachNajNajččeeššćća primena je a primena je

while (list(Vrednost_indeksa, Sadrwhile (list(Vrednost_indeksa, Sadržžaj_elementa) = aj_elementa) = each (ime_niza)each (ime_niza)

Ovo znaOvo značči: Za svaki od elemenata niza ime_niza, i: Za svaki od elemenata niza ime_niza, definisati promenljivu Vrednost_indeksa jednaku definisati promenljivu Vrednost_indeksa jednaku indeksu elementa niza i promenljivu indeksu elementa niza i promenljivu SadrSadržžaj_elementa jednaku sadraj_elementa jednaku sadržžaju elementa. aju elementa. Ispisivanjem sadrIspisivanjem sadržžaja promenljivih aja promenljivih Vrednost_indeksa i SadrVrednost_indeksa i Sadržžaj_elementa dobija se aj_elementa dobija se indeks i sadrindeks i sadržžaj samo onih elemenata niza koji aj samo onih elemenata niza koji imaju neki sadrimaju neki sadržžajaj

Page 57: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TolikoToliko za sadaza sada

Page 58: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

PreuPreuzimanje podataka zimanje podataka iz formularaiz formulara

Page 59: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Kreiranje formularaKreiranje formulara

Formular se kreira u HTMLFormular se kreira u HTML--uuTag Tag <f<formorm> i </f> i </formorm> > AtributAtribut action="action="stranica_za_obradu.phpstranica_za_obradu.php""AtributAtribut method momethod možže biti post ili gete biti post ili getOstali atributi mogu biti: enctype, id, Ostali atributi mogu biti: enctype, id, class, language, name, style, title ...class, language, name, style, title ...

PPrimerrimer<form action="<form action="obrada.phpobrada.php" method="post">" method="post">........</form></form>

Page 60: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

JavaScript i PHP JavaScript i PHP zajednozajednoSkoro uvek se provera popunjenosti ili ispravnosti Skoro uvek se provera popunjenosti ili ispravnosti podataka pre slanja u bazu vrpodataka pre slanja u bazu vršši JavaScripti JavaScript--omomAko se u formularu koristi taster tipa Submit, Ako se u formularu koristi taster tipa Submit, tada tada ćće sadre sadržžaj stranice biti automatski poslat na aj stranice biti automatski poslat na adresu definisanu u atributu action, bez adresu definisanu u atributu action, bez prethodne provera scriptaprethodne provera scriptaDa bi se to spreDa bi se to spreččilo, u tag form se stavlja dilo, u tag form se stavlja doogađaj gađaj OnSubmit, koji kao rezultat oOnSubmit, koji kao rezultat oččekuje logiekuje logiččku ku promenljivupromenljivuAko ova promenljiva bude true, nastavlja se sa Ako ova promenljiva bude true, nastavlja se sa slanjem podataka PHPslanjem podataka PHP--a, i obratnoa, i obratnoVrednost true dodeljuje JavaScropt ako je Vrednost true dodeljuje JavaScropt ako je provera zadovoljila oprovera zadovoljila oččekivanjaekivanja

Page 61: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

JavaScript i PHP JavaScript i PHP zajednozajedno<html><html><head><head><script language="JavaScript"><script language="JavaScript">function function ProveraProvera()(){{varvar teltel=document.formular1.telefon.value.length=document.formular1.telefon.value.lengthif(telif(tel<5) {<5) {alert("Nistealert("Niste upisaliupisali ispravanispravan brojbroj telefonatelefona !!!") ;!!!") ;return false;}return false;}else {return true;}else {return true;}}}</script></script></head></head><body><body><form name="formular1" method="post" action="1.php" <form name="formular1" method="post" action="1.php" onSubmitonSubmit="return ="return

ProveraProvera()">()"><p><p>TelefonTelefon: <input type="text" name=": <input type="text" name="telefontelefon"></p>"></p><input type="submit" name="<input type="submit" name="PoruciPoruci" value="" value="PoruPoruččii" >" ><input type="reset" name="<input type="reset" name="BrisanjeBrisanje" value="" value="BrisanjeBrisanje">"></form></form></body></body></html></html>

Page 62: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KreiranjeKreiranje linkalinka u bodyu body--juju

Page 63: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KreiranjeKreiranje linkalinka krozkroz scriptscript

Page 64: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KreiranjeKreiranje linkalinka krozkroz dogadogađajđaj

Page 65: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Method GETMethod GETGet Get govorigovori browserbrowser--u u dada vrednostivrednosti kojekoje korisnikkorisnikupiupišše u e u formularformular dodadoda URL URL adresiadresi i i proslediprosledi ihihžželjenojeljenoj stranicistraniciDa bi se razlikovala URL adresa od podataka koji se Da bi se razlikovala URL adresa od podataka koji se ššalju, browser dodaje alju, browser dodaje ? ? izaiza adreseadrese ččime oznaime označči i popoččetak podatakaetak podatakaPodaci se Podaci se ššalju u formi ime/vrednostalju u formi ime/vrednostPrimer Primer

www.pera.com/obrada.php?imewww.pera.com/obrada.php?ime==mikamikaAko postoji viAko postoji višše parova ime/vrednost tada ih e parova ime/vrednost tada ih browser razdvaja znakom browser razdvaja znakom &&PrimerPrimer

www.pera.com/obrada.php?imewww.pera.com/obrada.php?ime==mika&prezimemika&prezime==mikicmikic

Page 66: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Method GETMethod GETUkolikoUkoliko se Getse Get--omom ššalje sadralje sadržžaj tekstualnog polja aj tekstualnog polja koje ima vikoje ima višše ree rečči (textarea), tada se moraju i (textarea), tada se moraju pamtiti razmaci, ali i svi specijalni karakteri koji su pamtiti razmaci, ali i svi specijalni karakteri koji su uneti u tekstuneti u tekstDa bi se ovakav zahtev realizovao definisana je Da bi se ovakav zahtev realizovao definisana je tablica koja koduje znakove koji se ne mogu tablica koja koduje znakove koji se ne mogu pojaviti u URL adresi, ali se zamenjuju tekstompojaviti u URL adresi, ali se zamenjuju tekstomNa primer tekst Kurs: Php programiranje! bi Na primer tekst Kurs: Php programiranje! bi izgledao:izgledao:

www.pera.com/obrada.phpwww.pera.com/obrada.php??TextAreaTextArea=Kurs%3A%20=Kurs%3A%20Php%20programiranje%21Php%20programiranje%21

Page 67: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

URL URL kodovanjekodovanje

Page 68: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Method POSTMethod POST

Za razliku od Get, podaci koji se Za razliku od Get, podaci koji se ššalju Post alju Post metodom su nevidljivi za korisnika, i ne metodom su nevidljivi za korisnika, i ne dodaju se URL adresidodaju se URL adresiOni se prenose u telu HTTP zahtevaOni se prenose u telu HTTP zahtevaPost metod nema ograniPost metod nema ograniččenje u smislu enje u smislu veliveliččine, dok Get ima, zbog ograniine, dok Get ima, zbog ograniččenja enja dudužžine URL adreseine URL adrese

Nema pravila koje definiNema pravila koje definišše koji metod je e koji metod je bolji, nego se to ostavlja programerubolji, nego se to ostavlja programeru

Page 69: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Veza HTML i PHP straniceVeza HTML i PHP stranice1.1. Napraviti HTML stranicu sa tagom form, Napraviti HTML stranicu sa tagom form,

atributom action i methodatributom action i method2.2. U formularu napraviti elemente koji imaju U formularu napraviti elemente koji imaju

definisane name atributedefinisane name atribute3.3. Napraviti taster Submit za slanje podataka na Napraviti taster Submit za slanje podataka na

php stranu, koja je definisana u atributu php stranu, koja je definisana u atributu actionaction

4.4. Napraviti pomenutu PHP stranicu u kojoj se Napraviti pomenutu PHP stranicu u kojoj se poziva $poziva $a=a= $_POST[' $_POST[' atribut_nameatribut_name '],'], i i podatakpodatak jeje iziz HTML HTML stranestrane dodoššaaoo u PHP u PHP stranicustranicu u u promenljivupromenljivu $a$a

Page 70: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrenosPrenos iziz tekstualnogtekstualnog poljapolja

PrenosPrenos sadrsadržžaja tekstualnog polja u PHP aja tekstualnog polja u PHP se se vrvršši po atributu namei po atributu nameIz tog razloga treba voditi raIz tog razloga treba voditi raččuna da ne una da ne bude praklapanja atributa po imenubude praklapanja atributa po imenuSadrSadržžaj polja se prenosi u originalu, bez aj polja se prenosi u originalu, bez obzira na broj reobzira na broj rečči i razmakei i razmakePreuzimanje u PHP kodu je pomoPreuzimanje u PHP kodu je pomoććuu

$_POST[' $_POST[' atribut_nameatribut_name ']']Kod nekih verzija dovoljno je samoKod nekih verzija dovoljno je samo

$$atribut_nameatribut_name

Page 71: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerindex.htmlindex.html

<html><html><head> </head><head> </head><body><body><form action="1.php" method="post"><form action="1.php" method="post">UnesiteUnesite imeime<input type="text" name="<input type="text" name="imeime">"><<brbr>><input type="submit" value="<input type="submit" value="UnosUnos">"></form></form></body></body></html></html>

1.php1.php

<html><html><head> </head><head> </head><body><body>Uneto ime je:Uneto ime je:<?php <?php

echo echo $_POST['ime']$_POST['ime']

>><br><br></body></body></html></html>

Page 72: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<form action="http://<form action="http://www.nesto.com/provera.phpwww.nesto.com/provera.php" method="GET">" method="GET">ImeIme: <input type="text" name=": <input type="text" name="firstnamefirstname" size="15">" size="15">PrezimePrezime : <input type="text" name=": <input type="text" name="lastnamelastname" size="15">" size="15"><input <input tupetupe="submit" value="="submit" value="PotvrdaPotvrda podatakapodataka">">

</form></form>

<? <? echo"Vasecho"Vasее imeime јеје:";:";echoecho"$ "$ firstnamefirstname ";";echo"Vasecho"Vasее prezimeprezime јеје:";:";echo"echo"$$ lastnamelastname ";";

?>?>----------------------------------------------------------------------------------------------------------------------------------------Za unete podatke Nenad Kojic, nakon klika na Potvrda podataka Za unete podatke Nenad Kojic, nakon klika na Potvrda podataka

otvara se stranica sa podacimaotvara se stranica sa podacimaVaVašše ime je Nenade ime je Nenad

VaVašše prezime je Kojie prezime je Kojićć

Primer Primer SSlanjlanjee u u phpphp

Page 73: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Provera unosa podatka u neko od poljaProvera unosa podatka u neko od polja

<<formform actionaction="="stranastrana.html" .html" methodmethod = "POST">= "POST"><<input nameinput name="="ImeIme">"><<input typeinput type="submit">="submit"></</formform> >

<?<?if (if (issetisset (($$ImeIme)))){{echo "echo "VaVašše ime jee ime je $$ImeIme";";$rezultatupita=true;$rezultatupita=true;}}?>?>

isset vraisset vraćća vrednost a vrednost true ako postoji true ako postoji promenljiva Imepromenljiva Ime

AlternativaAlternativa<?<?if (if (!!issetisset (($$ImeIme)))){{echo "echo "Morate uneti ImeMorate uneti Ime";";$rezultatupita=false;$rezultatupita=false;}}?> ?>

Page 74: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

JednaJedna--dvedve stranestrane

Page 75: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PHP_SELFPHP_SELF

Page 76: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<html><html><head><head><title><title>FormularFormular zaza PHP PHP testiranjetestiranje</title></title></head></head><body><body><h2>Prost <h2>Prost formularformular</h2></h2><form method=<form method=””postpost”” action=action=””formprocesor.phpformprocesor.php””>><input type=<input type=””texttext”” size=size=””2626”” name=name=””imeime””>>ImeIme: <: <brbr />/><input type=<input type=””texttext”” size=size=””2626”” name=name=””prezimeprezime””>>PrezimePrezime: <: <brbr />/><input type=<input type=””texttext”” size=size=””2626”” name=name=””emailemail””>E mail >E mail adresaadresa: <: <brbr />/><<textareatextarea rows=rows=””44”” cols=cols=””2626”” name=name=””addressaddress””></></textareatextarea>>AdresaAdresa: <: <brbr />/><input type=<input type=””submitsubmit”” value=value=””SendSend”” name=name=””submitsubmit””>><input type=<input type=””resetreset”” value=value=””ClearClear”” name=name=””resetreset””>></form></form></body></body></html></html>

Primer aPrimer a

Page 77: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer bb<?<?phpphp

// // ššaljealje podatkepodatke i i zahvaljujezahvaljuje korisnikukorisnikuprint print ““<h2><h2>HvalaHvala VamVam $$imeime, , primiliprimili smosmo vavaššee informacijeinformacije </h2></h2>””; ; print print ““ImeIme: $: $imeime <<brbr /> /> \\nn””; ; print print ““PrezimePrezime: $: $prezimeprezime <<brbr /> /> \\nn””;;print print ““Email Email adresaadresa: $email <: $email <brbr /> /> \\nn””; ; print print ““AdresaAdresa: $: $adresaadresa <<brbr />/>\\nn””; ; // // ššaljealje podatkepodatke formularaformulara nana specificiranuspecificiranu adresuadresu, email , email adresuadresu

$to = "$to = "[email protected]@NNscience.org"; "; $subject = "$subject = "InformacijeInformacije prikupljeneprikupljene formularomformularom"; "; $body = "$body = "ImeIme: $: $imeime \\n n PrezimePrezime: $: $prezimeprezime \\n Email n Email adresaadresa: $email : $email \\n n AdresaAdresa: $: $adresaadresa \\n"; n";

mail ($mail ($to,$subject,$bodyto,$subject,$body); ); ?>?>

Page 78: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Check tasterCheck tasterPrenosPrenos sadrsadržžaja checkboxaja checkbox--a u PHP a u PHP se se vrvršši po i po atributu nameatributu nameSvaki box ide za sebeSvaki box ide za sebeAko u tagu Ako u tagu <input> <input> nijenije definisandefinisan atributatribut value, value, tadatada jeje rezultatrezultat ččekiranog polja u PHPekiranog polja u PHP--u on (dok u on (dok se u suprotnom ne prikazuje)se u suprotnom ne prikazuje)Ako je atribut value definisan, prenosi se value Ako je atribut value definisan, prenosi se value vrednostvrednostZa sluZa sluččaj kada ima viaj kada ima višše checkboxe checkbox--ova moguova mogućće je e je za name kreirati niz. Na taj naza name kreirati niz. Na taj naččin sva polja se in sva polja se prozivaju preko imena niza, prozivaju preko imena niza, ččiji je elemenat iji je elemenat određen redosledom pojavljivanja boxodređen redosledom pojavljivanja box--ovaova

Page 79: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerindex.htmlindex.html

<html><html><head> </head><head> </head><body><body><form action="1.php" method="post"><form action="1.php" method="post">OpcijeOpcije::11<input type="checkbox" <input type="checkbox" name="1"name="1" >>22<input type="checkbox" <input type="checkbox" name="2"name="2" >>33<input type="checkbox" <input type="checkbox" name="3"name="3"

value="value="TreciTreci"" >>44<input type="checkbox" <input type="checkbox" name="4"name="4"

value="value="CetvrtiCetvrti"" ><><brbr>><input type="submit" value="<input type="submit" value="ObradaObrada">"></form></form></body></body></html></html>

1.php1.php

<html><html><body><body>Predmeti: <br>Predmeti: <br><?php <?php echo $_POST['1']; echo $_POST['1']; echo ("<br>");echo ("<br>");echo $_POST['2'];echo $_POST['2'];echo $_POST['3'];echo $_POST['3'];echo $_POST['4'];echo $_POST['4'];?>?></body></html></body></html>

Page 80: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Radio Radio tasteritasteriPrenosPrenos sadrsadržžaja checkboxaja checkbox--a u PHP a u PHP se se vrvršši po i po atributu nameatributu nameSvaki Svaki radio button radio button moramora imatiimati istiisti name name Ako u tagu Ako u tagu <input> <input> nijenije definisandefinisan atributatribut value, value, tadatada jeje rezultatrezultat ččekiranog polja u PHPekiranog polja u PHP--u on (dok u on (dok se u suprotnom ne prikazuje)se u suprotnom ne prikazuje)Ako je atribut value definisan, prenosi se value Ako je atribut value definisan, prenosi se value vrednostvrednost

Page 81: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerindex.htmlindex.html

<html><html><head> </head><head> </head><body><body><form action="1.php" method="post"><form action="1.php" method="post">OpcijeOpcije::11<input type="radio" <input type="radio" name="1"name="1" >>2<input type=" radio " 2<input type=" radio " name="1"name="1"

value="value="DrugiDrugi"" > <> <brbr>><input type="submit" value="<input type="submit" value="ObradaObrada">"></form></form></body></body></html></html>

1.php1.php

<html><html><body><body>Izbor: <br>Izbor: <br><?php <?php echo $_POST['1']; echo $_POST['1']; ?>?></body></body></html></html>

Page 82: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PadajuPadajućća listaa listaPrenosPrenos sadrsadržžaja izabranog polja padajuaja izabranog polja padajućće liste u e liste u PHP PHP se se vrvršši po atributu name taga Selecti po atributu name taga SelectOvo vaOvo važži za liste gde je dozvoljen izbor samo i za liste gde je dozvoljen izbor samo jedne od ponuđenih vrednostijedne od ponuđenih vrednostiAko se koristi opcija Multiple, tada se prenos Ako se koristi opcija Multiple, tada se prenos izabranih polja preuzima kroz atribut name taga izabranih polja preuzima kroz atribut name taga Select, a u PHPSelect, a u PHP--u u ččita kreiranjem niza sa tim ita kreiranjem niza sa tim imenom.imenom.

Page 83: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerindex.htmlindex.html

<html><html><head> </head><head> </head><body><body><form action="1.php" method="post"><form action="1.php" method="post">OpcijeOpcije::<select name="123"><select name="123"><option>11</option><option>11</option><option>22</option><option>22</option><option>33</option><option>33</option></select><</select><brbr>><input type="submit" value="<input type="submit" value="ObradaObrada">"></form></form></body></body></html></html>

1.php1.php

<html><html><body><body>Izbor: <br>Izbor: <br><?php <?php echo $_POST['123']; echo $_POST['123']; ?>?></body></body></html></html>

Page 84: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<p><p>KojimKojim danimadanima momožžeteete dodoććii nana razgovorrazgovor?</p>?</p><select name="<select name="radniradni__danidani[]" []" MultipleMultiple>><option value="<option value="PonedeljakPonedeljak">">PonedeljakPonedeljak</option></option><option value="<option value="UtorakUtorak">">UtorakUtorak</option></option><option value="<option value="SredaSreda">">SredaSreda</option></option><option value="<option value="ČČetvrtaketvrtak">">ČČetvrtaketvrtak</option></option><option value="<option value="PetakPetak">">PetakPetak</option></option>

</select><</select><brbr/></><brbr/>/>

PrimerPrimer

print "Dani za razgovor: $radni_dani[0] $radni_dani [1] print "Dani za razgovor: $radni_dani[0] $radni_dani [1] $radni_dani [2] $radni_dani [3] $radni_dani [4] <br>$radni_dani [2] $radni_dani [3] $radni_dani [4] <br>\\n";n";

Page 85: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

SkrivenaSkrivena poljapoljaKoristeKoriste se se zaza prosleprosleđivanje podataka sa jedne đivanje podataka sa jedne stranice na drugu, ali bez uticaja korisnikastranice na drugu, ali bez uticaja korisnikaOvo se moOvo se možže zamisliti kao polje koje je unapred e zamisliti kao polje koje je unapred popunjeno, i koje popunjeno, i koje ćće svoju vrednost proslediti php e svoju vrednost proslediti php stranici kao i sva druga polja koje popunjava stranici kao i sva druga polja koje popunjava korisnikkorisnikU HTMLU HTML--u se kreira kaou se kreira kao::<input type="hidden" name="<input type="hidden" name="perapera" value="" value="mikamika">">Kao i Kao i ostaliostali elementielementi popozzivaiva se se svojimsvojim name name atributomatributom, a , a prenosiprenosi vrednostvrednost valuevalue--aa

Page 86: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

SkrivenaSkrivena poljapoljaSkrivenaSkrivena poljapolja mogumogu dada prenoseprenose i i informacijuinformaciju izizphpphp stranestrane nana drugudrugu phpphp stranustranu

DaDa bi se bi se ovoovo iskoristiloiskoristilo popottrebnorebno jeje ceoceo HTML HTML formularformular kreiratikreirati krozkroz phpphp kodkod, , kadakada se i se i elementimaelementima formularaformulara mogumogu dodelitidodeliti vrednostivrednostipromenljivihpromenljivih u u phpphp--uu

AutomatskomAutomatskom dodelomdodelom vrednostivrednosti nekomnekom ododelemenataelemenata formularaformulara i i njenimnjenim daljimdaljimprenoprenoššenjemenjem dobija se alat za prenos sadrdobija se alat za prenos sadržžaja aja promenljivih među stranamapromenljivih među stranama

Page 87: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer -- SkrivenaSkrivena poljapolja<html><html><head> </head><head> </head><body><body><?<?phpphp$promenljiva1 = "$promenljiva1 = "PeraPera";";echo "<form action="2.php" method="post">";echo "<form action="2.php" method="post">";echo "<input type="text" name="3" >";echo "<input type="text" name="3" >";echo "<input type="hidden" name="4" value=$promenljiva1>";echo "<input type="hidden" name="4" value=$promenljiva1>";echo "<input type="submit" value="echo "<input type="submit" value="ObradaObrada">";">";echo"</form>"echo"</form>"?>?></body></body></html></html>

Page 88: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Utvrđivanje Utvrđivanje ččitaitačča i IPa i IP--aa<html><html><head><head><title><title>Utvrđivanja IP adrese i web Utvrđivanja IP adrese i web ččitaitaččaa</title></title><meta http<meta http--equiv="Contentequiv="Content--Type" content="text/html; Type" content="text/html;

charsetcharset=iso=iso--88598859--1">1"></head></head><body><body><?<?phpphp$$yourIPyourIP = = getenv("REMOTE_ADDRgetenv("REMOTE_ADDR");");$$yourbrowseryourbrowser = = getenv("HTTP_USER_AGENTgetenv("HTTP_USER_AGENT");");echo "<h1>Hello</h1>echo "<h1>Hello</h1>\\n";n";echo "echo "VidimVidim vasuvasu IP IP adresuadresu sasa kojekoje dolazitedolazite <b>$<b>$yourIPyourIP </p></p>””; ; echo "echo "KoristiteKoristite sledecisledeci web web pretrazivacpretrazivac $$yourbrowseryourbrowser ";";?>?></body></body></html></html>

PrimerPrimer

Page 89: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TolikoToliko za sadaza sada

Page 90: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

OrganizacijaOrganizacija kodakoda

Page 91: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

FunkcijeFunkcije

SintaksaSintaksa funkcijefunkcije jeje slisliččna kao i u JavaScriptna kao i u JavaScript--uuRezervisana reRezervisana rečč function, () za parametre i function, () za parametre i {} {} zaza telotelo funkcijefunkcijeReRezzervisanaervisana rerečč return za vrareturn za vraććanje vrednosti anje vrednosti koja je trakoja je tražžena od funkcijeena od funkcijeSintaksaSintaksa

function ime_funkcije (ulazni parametri)function ime_funkcije (ulazni parametri){{telotelo ((kodkod) ) funkcijefunkcijeReturn Return izlaznaizlazna promenljivapromenljiva}}

Page 92: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer<?<?phpphp

function function pdvpdv ($($osnovna_cenaosnovna_cena, $, $stopa_pdvstopa_pdv)){{$$pdv_iznospdv_iznos = $= $osnovna_cenaosnovna_cena * $stopa_pdv/100;* $stopa_pdv/100;$$cena_sa_pdvcena_sa_pdv = $= $osnovna_cenaosnovna_cena + $+ $pdv_iznospdv_iznos ;;return $return $cena_sa_pdvcena_sa_pdv ;;}}

$$osnovna_cenaosnovna_cena = 100;= 100;$$stopa_pdvstopa_pdv = 18 ;= 18 ;$$razultatrazultat = = pdv($osnovna_cenapdv($osnovna_cena, $, $stopa_pdvstopa_pdv););echo (" echo (" CenaCena proizvodaproizvoda sasa PVDPVD--omom jeje $$razultatrazultat ");");

?>?>

Page 93: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

FunkcijeFunkcijeU U verzijiverziji PHP4, PHP4, ukolikoukoliko se se nekineki odod ooččekivanih ulaznih ekivanih ulaznih parametara ne poparametara ne poššaljealje,, tada se podrazumeva da je njegova tada se podrazumeva da je njegova vrednost 0vrednost 0PrimerPrimer

<?<?phpphpfunction function pdvpdv ($($osnovna_cenaosnovna_cena, $, $stopa_pdvstopa_pdv)){{$$pdv_iznospdv_iznos = $= $osnovna_cenaosnovna_cena * $stopa_pdv/100;* $stopa_pdv/100;$$cena_sa_pdvcena_sa_pdv = $= $osnovna_cenaosnovna_cena + $+ $pdv_iznospdv_iznos ;;return $return $cena_sa_pdvcena_sa_pdv ;;}}$$osnovna_cenaosnovna_cena = 100;= 100;$$stopa_pdvstopa_pdv = 18 ;= 18 ;$$razultatrazultat = = pdv($osnovna_cenapdv($osnovna_cena););echo (" echo (" CenaCena proizvodaproizvoda sasa PVDPVD--omom jeje $$razultatrazultat ");");?>?>Kao rezultat Kao rezultat ćće se vratiti 100e se vratiti 100

Page 94: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Globalne i lokalne promenljiveGlobalne i lokalne promenljivePojam promePojam promennljive vezuje se za vreme trajanja web ljive vezuje se za vreme trajanja web stranestranePromenljive koje se koriste u funkcijama, imaju lokalni Promenljive koje se koriste u funkcijama, imaju lokalni karakter, i vakarakter, i važže samo dok se kod funkcije izvre samo dok se kod funkcije izvrššavaavaTe promenljive su lokalne promenljiveTe promenljive su lokalne promenljiveIsta lokalna promenljiva se zato moIsta lokalna promenljiva se zato možže koristiti u svim e koristiti u svim funkcijama, jer se njeno trajanje na njih i ogranifunkcijama, jer se njeno trajanje na njih i ograniččavaavaGlobalna promenljiva se nalazi u glavnom delu koda, i Globalna promenljiva se nalazi u glavnom delu koda, i mora da bude jedinstvena u njemumora da bude jedinstvena u njemuIme globalne promenljive moIme globalne promenljive možže biti i ime lokalne, ali e biti i ime lokalne, ali se mora voditi rase mora voditi raččuna ko u kom trenuku izvruna ko u kom trenuku izvrššavanjaavanjakoda ima koju vrednostkoda ima koju vrednost

Page 95: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PromenljivePromenljiveGlobalGlobalaa promenljivpromenljivaa $$sumasuma se se oznaoznaččava sa: ava sa:

globalglobal $$sumasuma

SuperglobalSuperglobalne promenljivene promenljive –– Automatski Automatski definisane i dostupne kroz sam program:definisane i dostupne kroz sam program:$_GET $_GET $_POST $_POST $_Request $_Request $_COOKIES $_COOKIES $_SESSION$_SESSION

Page 96: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer<?<?phpphp$glob$glob_prom = _prom = ““perapera””;;function primer (function primer ($glob$glob_prom )_prom ){{$glob$glob_prom = _prom = ““mikamika””;;return return $glob$glob_prom ;_prom ;}}primer (primer ($glob$glob_prom ) ;_prom ) ;

echo echo $glob$glob_prom;_prom;?>?>

Ispisuje pera

Page 97: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer<?<?phpphp$glob$glob_prom = _prom = ““perapera””;;function primer ($function primer ($prvaprva)){{$$prvaprva = = ““mikamika””;;return $return $prvaprva ;;}}primer (primer ($glob$glob_prom ) ;_prom ) ;

echo echo $$prvaprva;;echo echo $glob$glob_prom;_prom;?>?>

Nema vrednost van funkcije

Ispisuje pera

Page 98: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Globalne i lokalne promenljiveGlobalne i lokalne promenljiveŠŠta bi bilo ako se vrednost globalne ta bi bilo ako se vrednost globalne promenljive pozove unutar funkcije gde promenljive pozove unutar funkcije gde postoji promenljiva sa istim tim imenompostoji promenljiva sa istim tim imenom??NeNećće se ni videti unutar nje, jer se ne zna e se ni videti unutar nje, jer se ne zna koja je koja promenljivakoja je koja promenljiva

Zato se globalne promenljive jasno Zato se globalne promenljive jasno oznaoznaččavaju kao takveavaju kao takve

Prvi naPrvi naččin je stavljanjem rein je stavljanjem rečči global ispred i global ispred promenljive koja je globalna a poziva se u promenljive koja je globalna a poziva se u nekoj od funkcija nekoj od funkcija

Drugi je upotrebom niza $GLOBALSDrugi je upotrebom niza $GLOBALS

Page 99: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer<?<?phpphp$prva$prva = = ““perapera””;;function primer ($function primer ($drugadruga)){{global $prvaglobal $prva ;;echo $prvaecho $prva ;;$$drugadruga = = ““mikamika””;;return ;return ;}}primer (primer ($prva$prva ) ;) ;

echo echo $$prvaprva;;?>?>

Ispisuje pera

Ispisuje pera

Page 100: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer<?<?phpphp$$prvaprva = = ““perapera””;;function primer ($function primer ($drugadruga)){{echo $GLOBAecho $GLOBALLSS[[““prvaprva””] ;] ;$$drugadruga = = ““mikamika””;;return $return $drugadruga ;;}}primer ()primer ()echo echo $$prvaprva;;echo echo $$drugadruga;;?>?>

Ispisuje pera

Ispisuje pera

ništa

Page 101: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ZadrZadržžavanje vrednostiavanje vrednostiAko lokalna promenljiva treba da zadrAko lokalna promenljiva treba da zadržži svoju i svoju vrednost i nakon isteka koda funkcije, za potrebe vrednost i nakon isteka koda funkcije, za potrebe sledesledeććeg pozivanja te funkcje, tada se ispred imena eg pozivanja te funkcje, tada se ispred imena promenljive pipromenljive pišše ree rečč staticstaticStatiStaticc se sase sammo prvi put izvro prvi put izvrššava i pava i prromenljivoj dodeli omenljivoj dodeli inicijalnu vrednost, a nakon toga lokalna promenljiva inicijalnu vrednost, a nakon toga lokalna promenljiva pamti svoju vrednost za sledepamti svoju vrednost za sledećće pozivanje funkcijee pozivanje funkcije

PrimerPrimerffunction brojunction broj__poseta_sajtuposeta_sajtu()(){{static $static $brojbroj=0;=0;return $return $brojbroj=$broj+1;=$broj+1;}}

PriPri svakomsvakom pozivanjupozivanju funkcijefunkcije vrednostvrednost $$bojboj bi bi bilabila 1,2,3,1,2,3,……

Page 102: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer Primer zaza static static <?<?phpphp

function function broj_poseta_sajtubroj_poseta_sajtu()(){{static $static $brojbroj=0;=0;return $return $brojbroj=$broj+1;=$broj+1;}}

for ( $i=1; $i<5 ; $i++)for ( $i=1; $i<5 ; $i++){{$$promenljivapromenljiva = = broj_poseta_sajtubroj_poseta_sajtu() ;() ;echo $echo $promenljivapromenljiva;;}}

?>?>

1234

Page 103: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

FunkcijeFunkcije i i promenljivepromenljiveU PHPU PHP--u u regularnoregularno vavažže rekurzije i ugnjee rekurzije i ugnježždavanja davanja funkcijafunkcijaTakođe vaTakođe važži mogui moguććnost dodele funkcija pojedinim nost dodele funkcija pojedinim petljama i obratnopetljama i obratno

Rezime promenljivihRezime promenljivih•• Globalne promenljive imaju vrednost kroz ceo Globalne promenljive imaju vrednost kroz ceo

program, ali ako se koriste u funkciji mora se koristiti program, ali ako se koriste u funkciji mora se koristiti prefiks globalprefiks global

•• Lokalne promenljive imaju vrednost samo unutar Lokalne promenljive imaju vrednost samo unutar funkcije i za vreme trajanja funkcijefunkcije i za vreme trajanja funkcije

•• StatiStatiččke promenljive su lokalne promenljive kojima ke promenljive su lokalne promenljive kojima vrednost traje unutar funkcije svaki put kada se vrednost traje unutar funkcije svaki put kada se funkcija pozovefunkcija pozove

Page 104: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UkljuUključčivanje datotekaivanje datotekaUkljuUključčivanjem sadrivanjem sadržžaja spoljaaja spoljaššnje datoteke monje datoteke možže se u e se u postojepostojećću stranicu dodati tekst ili u stranicu dodati tekst ili deo kodadeo kodaNaredba za ukljuNaredba za uključčivanje datoteke je includeivanje datoteke je include•• Sintaksa include(Sintaksa include(““ime_datotekeime_datoteke””););•• Primer include(Primer include(““tekst.txttekst.txt””))

Nailaskom na ovaj red koda, ako je u tekst.txt Nailaskom na ovaj red koda, ako je u tekst.txt definisan neki tekst, taj tekst bi se ukljudefinisan neki tekst, taj tekst bi se uključčio u sadrio u sadržžaj aj stranice, kao da je kreiran u HTMLstranice, kao da je kreiran u HTML--uuAko postoji potreba za viAko postoji potreba za višše datoteka, onda se prave e datoteka, onda se prave generigeneriččka imena koja su slika imena koja su sliččna, i koja se programski na, i koja se programski mogu pozvatimogu pozvati•• Primer : Ako postoji 10 datoteka sa imenima tekst1.txt, Primer : Ako postoji 10 datoteka sa imenima tekst1.txt,

tekst2.txt, ..., tada se mogu kroz for petlju pozvati kao tekst2.txt, ..., tada se mogu kroz for petlju pozvati kao imeime

$brojac=1;$brojac=1;include (include (““teksttekst””.$brojac..$brojac.””.txt.txt””););

Page 105: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TolikoToliko za sadaza sada

Page 106: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

WEB WEB PROGRAMIRANJEPROGRAMIRANJEPHPPHP

PHP 4 PHP 4 -- KrozKroz primereprimere

Page 107: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<html><head><title>PHP - Kroz primere</title><meta http-equiv="Content-Type" content="text/html; charset=Windows-1250"></head><body><form action="obrada.php" method="post"><table border="0"><tr bgcolor="#cccccc">

<td width="150">Artikal</td><td width="15">Količina</td>

</tr><tr><td>Sveska</td><td align="center"><input type="text" name="sveska" size="3" maxlength="3"></td>

</tr><tr>

<td>Olovka</td><td align="center"><input type="text" name="olovka" size="3" maxlength="3"></td>

</tr><tr><td>Gumica</td><td align="center"><input type="text" name="gumica" size="3" maxlength="3"></td></tr>

<tr></tr>

<tr><td colspan="2" align="center"><input type="submit" value="Naruči"></td></tr>

</table></form></body></html>

HTML kod poHTML kod poččetne straneetne strane

Page 108: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

action="obrada.php"

method="post"

name="gumica"

name="sveska"

name="olovka"

AtributiAtributi tagovatagova bitnibitni zaza PHPPHP

Page 109: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

StranicaStranica obrada.phpobrada.php<html><html><head><head><title><title>OnLineOnLine knjiknjižžara ara -- IzveIzvešštaj narutaj naruddžžbinebine</title></title>

</head></head><body><body><h1><h1>OnLine knjiOnLine knjižžaraara</h1></h1><h2><h2>IzveIzvešštajtaj</h2></h2>

<?<?phpphpecho "<p> echo "<p> PorudPorudžžbina prihvabina prihvaććena ena </p>";</p>";?>?>

</body></body></html></html>

Page 110: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UpotrebaUpotreba funkcijefunkcije datedate<html><html><head><head><title><title>OnLineOnLine knjiknjižžaraara -- IzveIzvešštajtaj narudnarudžžbinebine</title></title><meta http<meta http--equiv="Contentequiv="Content--Type" content="text/html; Type" content="text/html; charsetcharset=Windows=Windows--1250">1250"></head></head><body><body><h1><h1>OnLineOnLine knjiknjižžaraara</h1></h1><h2><h2>IzveIzvešštajtaj</h2></h2>

<?<?phpphpecho "<p> echo "<p> PorudPorudžžbinabina prihvaprihvaććenaena u <p>";u <p>";echo echo date("H:idate("H:i, j F");, j F");echo "</p>";echo "</p>";?>?>

</body></body></html></html>

Ugrađena funkcija za vreme

H: Sati u 24h formatu

i: Minuti sa vodećom nulom

j: Dan F: Mesec

Page 111: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Preuzimanje elemenata obrascaPreuzimanje elemenata obrascaPromenljivima Promenljivima $ne$nešštoto dovoljno je definisati nadovoljno je definisati naččin in prenosa podatakprenosa podatakaa (u ovom slu(u ovom sluččaju POST) i aju POST) i namenameooddređenog elementa obrascaređenog elementa obrasca. . Potpuna putanja, kao u sluPotpuna putanja, kao u sluččaju JavaScriptaju JavaScript--a nije a nije potrebnapotrebnaIz tog razloga viIz tog razloga višše razlie različčitih obrazaitih obrazacca na istoj a na istoj strani moraju imati razlistrani moraju imati različčita ita namename svakog od svakog od objekata.objekata.

$$sveska1sveska1 = = $_POST$_POST['['sveskasveska'];'];$$olovka1olovka1 = = $_POST$_POST['['olovkaolovka'];'];$$gumica1gumica1 ==$ POST$ POST['['gumicagumica'];'];

name elemenata obrasca

Proizvoljna imena promenljivih

Page 112: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Prihvatanje podataka i njihov prikazPrihvatanje podataka i njihov prikaz<body><body><h1><h1>OnLineOnLine knjiknjižžaraara</h1></h1><h2><h2>IzveIzvešštajtaj</h2></h2><?<?phpphpecho "<p> echo "<p> PorudPorudžžbinabina prihvaprihvaććenaena u <p>";u <p>";echo echo date("H:idate("H:i, j F");, j F");echo "</p>";echo "</p>";

$sveska1 = $_$sveska1 = $_POST['sveskaPOST['sveska'];'];$olovka1 = $_$olovka1 = $_POST['olovkaPOST['olovka'];'];$gumica1 =$_$gumica1 =$_POST['gumicaPOST['gumica'];'];

echo "<p> echo "<p> NaruNaruččiliili steste : <p>";: <p>";echo "<p> echo "<p> SveskeSveske komadakomada: $sveska1: $sveska1 <p>";<p>";echo "<p> echo "<p> OlovkeOlovke komadakomada: $olovka1: $olovka1 <p>";<p>";echo "<p> echo "<p> GumiceGumice komadakomada: $gumica1: $gumica1 <p>";<p>";?>?></body></body>

Page 113: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KonstanteKonstanteKonstante se dKonstante se deefinifiniššu naredbom u naredbom definedefineVrednosti konstanti su neke vrednosti kao i kod Vrednosti konstanti su neke vrednosti kao i kod promenljivih, ali se jednom zadata vrednost promenljivih, ali se jednom zadata vrednost konstante konstante ne mone možžee menjati, dok se promenljivoj menjati, dok se promenljivoj momožžeePromenljive ispred imena imaju simPromenljive ispred imena imaju simbbol ol $$, dok , dok konstante nemajukonstante nemaju

define('define('CenaSveskeCenaSveske', ', 5050););define('define('CenaOlovkeCenaOlovke', ', 330);0);define('define('CenaGumiceCenaGumice', ', 1010););

Page 114: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Dodela poDodela poččetnih vrednostietnih vrednostiTipovi podataka u PHPTipovi podataka u PHP--u su:u su:

1.1. IntigerIntiger -- cceelobrojne velilobrojne veliččineine2.2. DoubleDouble -- pokretni zarez dvostruke preciznostipokretni zarez dvostruke preciznosti3.3. String String -- znakoviznakovi4.4. BooleanBoolean -- logilogiččkiki5.5. ArrayArray -- nizovinizovi6.6. Object Object -- za definisanje klasa.za definisanje klasa.

Definisanje promenljivih razliDefinisanje promenljivih različčitih tipova:itih tipova:$ukupnoartikala$ukupnoartikala=0;=0;$ukupnacena$ukupnacena=0.00;=0.00;

Page 115: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

AritmetiAritmetiččki oki operatoriperatori i operatori poređenja i operatori poređenja

Page 116: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<?<?phpphpecho "<p> echo "<p> PorudPorudžžbinabina prihvaprihvaććenaena u <p>";u <p>";echo echo date("H:idate("H:i, j F");, j F");echo "</p>";echo "</p>";

$sveska1 = $_$sveska1 = $_POST['sveskaPOST['sveska'];'];$olovka1 = $_$olovka1 = $_POST['olovkaPOST['olovka'];'];$gumica1 =$_$gumica1 =$_POST['gumicaPOST['gumica'];'];

echo "<p> echo "<p> NaruNaruččiliili steste : <p>";: <p>";echo "<p> echo "<p> SveskeSveske komadakomada: $sveska1 <p>";: $sveska1 <p>";echo "<p> echo "<p> OlovkeOlovke komadakomada: $olovka1 <p>";: $olovka1 <p>";echo "<p> echo "<p> GumiceGumice komadakomada: $gumica1 <p>";: $gumica1 <p>";

define('CenaSveskedefine('CenaSveske', 50);', 50);define('CenaOlovkedefine('CenaOlovke', 30);', 30);define('CenaGumicedefine('CenaGumice', 10);', 10);

$$ukupnoartikalaukupnoartikala=0;=0;$$ukupnacenaukupnacena=0.00;=0.00;

$$ukupnoartikalaukupnoartikala = $sveska1 + $olovka1 + $gumica1;= $sveska1 + $olovka1 + $gumica1;echo "echo "UkupanUkupan brojbroj artikalaartikala: $: $ukupnoartikalaukupnoartikala <<brbr />";/>";

$$ukupnacenaukupnacena = $sveska1*CenaSveske+$olovka1*CenaOlovke+$gumica1* = $sveska1*CenaSveske+$olovka1*CenaOlovke+$gumica1* CenaGumiceCenaGumiceecho "echo "UkupnoUkupno zaza uplatuuplatu: $: $ukupnacenaukupnacena dinaradinara. <. <brbr />";/>";?>?>

Page 117: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

IF petljaIF petljaVerzija Verzija IFIF petljepetlje sasa jejeddnimnim izvrizvrššenjemenjem

if($ukupnoartikalaif($ukupnoartikala==0==0))echo "echo "MorateMorate izabratiizabrati bar bar jedanjedan artikalartikal !";!";

Verzija Verzija IF IF petlje petlje sasa viviššee izvrizvrššenjaenjaif($ukupnoartikalaif($ukupnoartikala==0==0))

{{echo "echo "MorateMorate izabratiizabrati bar bar jedanjedan artikalartikal !";!";echo "echo "IzaberiteIzaberite ponovoponovo !";!";

}}

Page 118: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

IFIF--ELSEELSE petljapetljaVerzija Verzija IF IF -- ELSE ELSE petljepetljeif($ukupnoartikalaif($ukupnoartikala==0==0))

{{echo "echo "MorateMorate izabratiizabrati bar bar jedanjedan artikalartikal !";!";}}

elseelse{{

echo "echo "HvalaHvala ššto ste izabrali nato ste izabrali našše proizvodee proizvode.";.";if($sveska1if($sveska1>0>0))

echo "echo "IzabraliIzabrali steste sveskesveske, , komadakomada: $sveska1.";: $sveska1.";if($if($olovkaolovka11>0>0))

echo "echo "IzabraliIzabrali steste olovkeolovke, , komadakomada: $olovka1.";: $olovka1.";if($if($gumicagumica11>0>0))

echo "echo "IzabraliIzabrali steste gumicegumice, , komadakomada: $gumica1.";: $gumica1.";}}

Page 119: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<?<?phpphpecho "<p> echo "<p> PorudPorudžžbinabina prihvaprihvaććenaena u <p>";u <p>";echo echo date("H:idate("H:i, j F");, j F");echo "</p>";echo "</p>";

$sveska1 = $_$sveska1 = $_POST['sveskaPOST['sveska'];'];$olovka1 = $_$olovka1 = $_POST['olovkaPOST['olovka'];'];$gumica1 =$_$gumica1 =$_POST['gumicaPOST['gumica'];'];

define('CenaSveskedefine('CenaSveske', 50);', 50);define('CenaOlovkedefine('CenaOlovke', 30);', 30);define('CenaGumicedefine('CenaGumice', 10);', 10);

$$ukupnoartikalaukupnoartikala=0;=0;$$ukupnacenaukupnacena=0.00;=0.00;

$$ukupnoartikalaukupnoartikala = $sveska1 + $olovka1 + $gumica1;= $sveska1 + $olovka1 + $gumica1;echo "echo "UkupanUkupan brojbroj artikalaartikala: $: $ukupnoartikalaukupnoartikala <<brbr />";/>";

if( $ukupnoartikala == 0 ){echo "Morate izabrati bar jedan artikal ! <br />"; }

else{

echo "Hvala što ste izabrali naše proizvode. <br />";if($sveska1>0)

echo "Izabrali ste sveske, komada: $sveska1. <br />";if($olovka1>0)

echo "Izabrali ste olovke, komada: $olovka1. <br />";if($gumica1>0)

echo "Izabrali ste gumice, komada: $gumica1. <br />";}

$$ukupnacenaukupnacena = $sveska1 * = $sveska1 * CenaSveskeCenaSveske+ $olovka1 * + $olovka1 * CenaOlovkeCenaOlovke+ $gumica1 * + $gumica1 * CenaGumiceCenaGumice;;echo "echo "UkupnoUkupno zaza uplatuuplatu: $: $ukupnacenaukupnacena dinaradinara. <. <brbr />";/>";?>?>

IFIF--ELSEELSE petljapetlja

Page 120: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ELSEIFELSEIFVerzija Verzija ELSEIF ELSEIF petljepetlje ((ObraObraččun popusta na koliun popusta na količčinu)inu)

if(if( $$sveska1 < 5sveska1 < 5))$$popustpopust=0;=0;

else else if(if( $$sveska1 >=5 && sveska1 >=5 && $$sveska1<=9 sveska1<=9 ))$$popustpopust=5;=5;

else else if(if( $$sveska1 >=10 && sveska1 >=10 && $$sveska1<=19 sveska1<=19 ))$$popustpopust=10;=10;

else else if(if( $$sveska1 >=20sveska1 >=20))$$popustpopust=15;=15;

Page 121: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

IzraIzraččunavanje nove ceneunavanje nove ceneStara metrika za cenuStara metrika za cenu

$$ukupnacenaukupnacena = = $sveska1 * $sveska1 * CenaSveskeCenaSveske+ + $olovka1 * $olovka1 * CenaOlovkeCenaOlovke + + $gumica1 * $gumica1 * CenaGumiceCenaGumice;;

Nova metrika za cenuNova metrika za cenu

$$ukupnacenaukupnacena = = $sveska1 * ($sveska1 * (CenaSveskeCenaSveske -- ((CenaSveskeCenaSveske**$popust$popust)/100) +)/100) +$olovka1 * $olovka1 * CenaOlovkeCenaOlovke + + $gumica1 * $gumica1 * CenaGumiceCenaGumice;;

Page 122: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Select Select sekcijasekcija<select name="<select name="pronalazenjepronalazenje">">

<option value =" a"><option value =" a">JaJa samsam staristari kupackupac</option></option><option value =" b">TV <option value =" b">TV oglasoglas</option></option><option value =" c"><option value =" c">InternetomInternetom</option></option><option value =" d"><option value =" d">OdOd prijateljaprijatelja</option></option>

</select></select>

$ $ pronalazenjepronalazenje=$_POST[' =$_POST[' pronalazenjepronalazenje '];'];

if($ if($ pronalazenjepronalazenje == 'a')== 'a')echo '<p> echo '<p> StariStari kupackupac.</p>';.</p>';

elseifelseif($ ($ pronalazenjepronalazenje == 'b')== 'b')echo '<p>echo '<p>KupacKupac obaveobaveššten TV oglasomten TV oglasom.</p>';.</p>';

elseifelseif($ ($ pronalazenjepronalazenje == 'c')== 'c')echo '<p>echo '<p>Kupac obaveKupac obaveššten internetomten internetom.</p>';.</p>';

elseifelseif($ ($ pronalazenjepronalazenje == 'd')== 'd')echo '<p>echo '<p>Kopac obaveKopac obaveššten od strane prijateljaten od strane prijatelja.</p>';.</p>';

elseelseecho '<p>echo '<p>Nepoznat podatak o obaveNepoznat podatak o obavešštavanju kupcatavanju kupca.</p>';.</p>';

Else-If petlja

Page 123: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Select Select sekcijasekcija$ $ pronalazenjepronalazenje=$_POST[' =$_POST[' pronalazenjepronalazenje '];'];

switch(switch($$pronalazenjepronalazenje)){{

case 'a':case 'a':echo "<p> echo "<p> StariStari kupackupac. </p>";. </p>";break;break;

case 'b':case 'b':echo "<p> echo "<p> StariStari kupackupac. </p>";. </p>";break; break;

case 'c':case 'c':echo "<p> echo "<p> StariStari kupackupac. </p>";. </p>";break; break;

case 'd':case 'd':echo "<p> echo "<p> StariStari kupackupac. </p>";. </p>";break; break;

default:default:echo "<p> echo "<p> StariStari kupackupac. </p>";. </p>";break;break;

}}

Case

Page 124: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<html><head><html><head><title>PHP <title>PHP -- KrozKroz primereprimere</title></title><meta http<meta http--equiv="Contentequiv="Content--Type" content="text/html; Type" content="text/html; charsetcharset=Windows=Windows--1250"></head>1250"></head><body><body><form action="<form action="obrada.phpobrada.php" method="post">" method="post"><table border="0"><table border="0"><<trtr bgcolorbgcolor="#="#cccccccccccc">">

<td width="150"><td width="150">ArtikalArtikal</td></td><td width="15"><td width="15">KoliKoliččinaina</td></td>

</</trtr>><<trtr>><td><td>SveskaSveska</td></td><td align="center"><input type="text" name="<td align="center"><input type="text" name="sveskasveska" size="3" " size="3" maxlengthmaxlength="3"></td>="3"></td>

</</trtr>><<trtr>>

<td><td>OlovkaOlovka</td></td><td align="center"><input type="text" name="<td align="center"><input type="text" name="olovkaolovka" size="3" " size="3" maxlengthmaxlength="3"></td>="3"></td>

</</trtr>><<trtr>><td><td>GumicaGumica</td></td><td align="center"><input type="text" name="<td align="center"><input type="text" name="gumicagumica" size="3" " size="3" maxlengthmaxlength="3"></td>="3"></td></</trtr>>

<<trtr><td>><td>KakoKako steste saznalisaznali zaza nasnas?</td>?</td><td<td><select name="><select name="pronalazenjepronalazenje">">

<option value =" a"><option value =" a">JaJa samsam staristari kupackupac</option></option><option value =" b">TV <option value =" b">TV oglasoglas</option></option><option value =" c"><option value =" c">InternetomInternetom</option></option><option value =" d"><option value =" d">OdOd prijateljaprijatelja</option></option>

</select></select> </td></</td></trtr>><<trtr><td ><td colspancolspan="2" align="center"><input type="submit" value="="2" align="center"><input type="submit" value="NaruNaruččii"></td></"></td></trtr>></table></form></body></html></table></form></body></html>

KKôôdd prveprve stranestrane

Dodatakoriginalnojverziji koda

Page 125: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

DodavanjeDodavanje novenovestranestrane sasa podacimapodacima

<html><body><html><body><table border="0" <table border="0" cellpaddingcellpadding="3">="3">

<<trtr>><td <td bgcolorbgcolor="#CCCCCC" align="center">="#CCCCCC" align="center">UdaljenostUdaljenost u km</td>u km</td><td <td bgcolorbgcolor="#CCCCCC" align="center">="#CCCCCC" align="center">CenaCena u u dinarimadinarima</td></td>

</</trtr>><<trtr>><td align="right">50</td><td align="right">50</td><td align="right">5000</td><td align="right">5000</td>

</</trtr>><<trtr>><td align="right">100</td><td align="right">100</td><td align="right">10000</td><td align="right">10000</td>

</</trtr>><<trtr>><td align="right">150</td><td align="right">150</td><td align="right">15000</td><td align="right">15000</td>

</</trtr>><<trtr>><td align="right">200</td><td align="right">200</td><td align="right">20000</td><td align="right">20000</td>

</</trtr>><<trtr>><td align="right">250</td><td align="right">250</td><td align="right">25000</td><td align="right">25000</td>

</</trtr>></table></body></html></table></body></html>

Page 126: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

GenerisanjeGenerisanje podatakapodataka prethodneprethodne tabeletabelepomopomoćću u WhileWhile

<? <? phpphp

$rastojanje$rastojanje=50 ;=50 ;

whilewhile(($rastojanje$rastojanje <= 250)<= 250){{

$$cenacena=100* =100* $rastojanje$rastojanje ;;

echo "<echo "<trtr> > \\n <td> n <td> $rastojanje$rastojanje </td> </td> \\n";n";echo "<td> echo "<td> \\n <td> n <td> $$cenacena </td> </td> \\n </n </trtr> > \\n ";n ";

$rastojanje$rastojanje +=50;+=50;

}}

?>?>

Page 127: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

GenerisanjeGenerisanje podatakapodataka prethodneprethodne tabeletabelepomopomoćću u ForFor

<? <? phpphp

forfor(($rastojanje$rastojanje=50 ; =50 ; $rastojanje $rastojanje <= 250; <= 250; $rastojanje$rastojanje +=50+=50))

{{$$cenacena=100* =100* (($rastojanje$rastojanje--50)50) ;;

echo "<echo "<trtr> > \\n <td> n <td> $rastojanje$rastojanje </td> </td> \\n";n";echo "<td> echo "<td> \\n <td> n <td> $$cenacena </td> </td> \\n </n </trtr> > \\n ;n ;

}}

?>?>

Page 128: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NapuNapušštanje strane tanje strane

if if ( $( $ukupnoartikalaukupnoartikala == 0)== 0)

{{echo " echo " NisteNiste narunaruččili niili niššta na prethodnoj strani ! ta na prethodnoj strani ! <<brbr />";/>";exitexit ;;

}}

Page 129: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TolikoToliko zaza sadasada o PHP o PHP --uu

Page 130: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

UpravljanjeUpravljanje datotekamadatotekama i i direktorijumimadirektorijumima

Page 131: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

DatotekeDatotekeDatotekaDatoteka jeje ureuređena sekvenca bajtova smeđena sekvenca bajtova smešštenih tenih na disku, CDna disku, CD--ROMROM--u ili nekom drugom medijumuu ili nekom drugom medijumuDirektorijum je poseban tip datoteke koji Direktorijum je poseban tip datoteke koji ččuva uva imena drugih datoteka ili direktorijumaimena drugih datoteka ili direktorijumaDirektorijum i datoteka se karakteriDirektorijum i datoteka se karakteriššu svojom u svojom putanjomputanjomPutanje se razliPutanje se različčito zapisuju za Linux i Windowsito zapisuju za Linux i WindowsZa Unix sistema, kao Za Unix sistema, kao ššto je Linuxto je Linux•• /home/moje/podaci/arhiva.txt/home/moje/podaci/arhiva.txt

Za Windows Za Windows •• C:C:\\mojemoje\\podaci/arhiva.txtpodaci/arhiva.txt

PHP PHP kojikoji jeje instaliraninstaliran nana windowswindows--u u ćće ispravno e ispravno konvertovati oba tipa crta, ali je potrebno konvertovati oba tipa crta, ali je potrebno putanju pisati pod znacima navoda, da se putanju pisati pod znacima navoda, da se \\ ne bi ne bi tumatumaččila kao escapeila kao escape

Page 132: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

DATOTEKEDATOTEKE

TxtTxtNizoviNizoviSQLSQL

Page 133: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UpisivanjeUpisivanje i i ččitanje podatakaitanje podatakaUpisivanje podataka podrazumeva tri koraka:Upisivanje podataka podrazumeva tri koraka:

1.1. Otvaranje datoteke Otvaranje datoteke (Ako ne postoji treba je napraviti)(Ako ne postoji treba je napraviti)

2.2. Upisivanje podataka u datotekuUpisivanje podataka u datoteku3.3. Zatvaranje datotekeZatvaranje datoteke

ČČitanje podataka iz datoteke podrazumeva:itanje podataka iz datoteke podrazumeva:1.1. Otvaranje datoteke Otvaranje datoteke (Ako ne postoji(Ako ne postoji-- rereššiti programski)iti programski)

2.2. ČČitanje podatakaitanje podataka3.3. Zatvaranje datotekeZatvaranje datoteke

Page 134: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Otvaranje datoteke 1Otvaranje datoteke 1Za otvaranje datotekZa otvaranje datotekee koristi se php funkcijakoristi se php funkcija

fopen()fopen()

ReRežžimi rada sa datotekama:imi rada sa datotekama:--Da li se otvara samo za Da li se otvara samo za ččitanje, upis ili oba itanje, upis ili oba ??--Da li se upisuje preko postojeDa li se upisuje preko postojeććeg sadreg sadržžaja ili dodatakaja ili dodatak ??--ŠŠta ako je datotekta ako je datotekaa u upotrebi u upotrebi ? ? ……

rr –– OtvaraOtvara se se datotekadatoteka zaza ččitanje (itanje (r+r+ ččitanje i upis od poitanje i upis od poččetka)etka)w w -- OtvaraOtvara se se datotekadatoteka zaza upis (upis (w+w+ ččitanje i upis od poitanje i upis od poččetka)etka)aa -- OtvaraOtvara se se datotekadatoteka sa nastavljanjem sadrsa nastavljanjem sadržžaja (ako je nema pravi aja (ako je nema pravi

se)se)bb –– Ide u kombinaciji sa drugim simbolima Ide u kombinaciji sa drugim simbolima, i, i pravi razliku između pravi razliku između

binarnih i tekstualnih datotekabinarnih i tekstualnih datotekatt -- Ide u kombinaciji sa drugim simbolima, i pravi text tip datotekIde u kombinaciji sa drugim simbolima, i pravi text tip datotekuu..

Page 135: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Otvaranje datoteke 2Otvaranje datoteke 2Prvo se dPrvo se deefinifinišše putanja roote putanja root--aa samogsamog serveraservera u u promenljivojpromenljivoj$DOCUMENT$DOCUMENT_ROOT _ROOT

$DOCUMENT$DOCUMENT_ROOT = $_SERVER[ _ROOT = $_SERVER[ ‘‘DOCUMENTDOCUMENT_ROOT _ROOT ’’ ]]((KodKod simuliranjasimuliranja Root Root jeje nprnpr C C particijaparticija hard hard diskadiska))

ZatimZatim se se definidefinišše pe prromomeenljiva ($nasadatoteka) u koju se smenljiva ($nasadatoteka) u koju se smešštaju taju podaci iz datotekepodaci iz datoteke

$nasadatoteka$nasadatoteka==fopenfopen((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/……/folder//folder/spisak.txtspisak.txt””,,‘‘abab’’););

OtvaranjeOtvaranje datotekadatoteka pomopomoćću FTP i HTTP protokolau FTP i HTTP protokola

SmeSmešštanje na udaljenom ratanje na udaljenom raččunaru definiunaru definišše se protokolom, nakon e se protokolom, nakon ččega se uspostavlja veza sa tim serverom automatski. Jedini uslovega se uspostavlja veza sa tim serverom automatski. Jedini uslovje crta na kraju adrese.je crta na kraju adrese.

Dobar primer Dobar primer http://www.primer.com/http://www.primer.com/

Page 136: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Otvaranje datoteke 3Otvaranje datoteke 3Datoteka treba da je van direktorijuma u kome se nalazi Datoteka treba da je van direktorijuma u kome se nalazi prezentacija iz sigurnosnih razlogaprezentacija iz sigurnosnih razlogaUkoliko datoteka ne postoji, PHP generiUkoliko datoteka ne postoji, PHP generišše gree grešškukuDa se ova greDa se ova grešška ne bi videla pika ne bi videla pišše se simbol e se simbol @@

@@ $nasadatoteka$nasadatoteka==fopenfopen((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/……/folder//folder/spisak.txtspisak.txt””,,‘‘abab’’););

TrebaTreba proveritiproveriti dada lili jeje datotekadatoteka dostupnadostupna, i , i akoako nene generisatigenerisati nekunekuporukuporuku korisnikukorisnikuAkoAko funkcijafunkcija fopenfopen() () nene uspeuspe, , vravraćća se vrednost a se vrednost falsefalse

@ @ $nasadatoteka$nasadatoteka==fopenfopen((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/AppServ/www/spisak.txtAppServ/www/spisak.txt””,,‘‘abab’’););If (If (!! $nasadatoteka$nasadatoteka)){{echo echo ““ VaVašša poruđa poruđžžbina nije prihvabina nije prihvaććena. Molimo pokuena. Molimo pokuššajte ponovo !ajte ponovo ! ”” ;;exit;exit;}}

Page 137: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Otvaranje datoteke Otvaranje datoteke 44DrugaDruga mogumoguććnost je fread(), koja nost je fread(), koja ččita jedan po ita jedan po jedan znak iz datotekejedan znak iz datotekePrimer:Primer:

do($jedan_karakter=fread($datoteka, 1); $brojac.= $jedan_karaktedo($jedan_karakter=fread($datoteka, 1); $brojac.= $jedan_karakter;)r;)while ($jedan_karakter)while ($jedan_karakter)

Skoro na isti naSkoro na isti naččin radi i funkcija fgetc(): koja in radi i funkcija fgetc(): koja ččita ita jedan po jedan znak iz datoteke, a kjedan po jedan znak iz datoteke, a kada dođe do ada dođe do kraja vrakraja vraćća Falsea False

Primer:Primer:$jedan_karakter=fread($datoteka, 1); je isto $jedan_karakter=fread($datoteka, 1); je isto ššto i to i $jedan_karakter=fgetc($datoteka)$jedan_karakter=fgetc($datoteka)

Page 138: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Otvaranje datoteke 5Otvaranje datoteke 5Funkcija feof() vraFunkcija feof() vraćća True kada dođe do kraja a True kada dođe do kraja datoteke, a u suprotnom vradatoteke, a u suprotnom vraćća Falsea False•• Sintaksa feof($datoteka)Sintaksa feof($datoteka)

Funkcija fgets() Funkcija fgets() ččita skupove znakova. Za razliku ita skupove znakova. Za razliku od fgetc() koja od fgetc() koja ččita jedan po jedan znak, fgets() ita jedan po jedan znak, fgets() ččita grupu znakova u navedenoj duita grupu znakova u navedenoj dužžini. Prestaje ini. Prestaje sa sa ččitanjem nailaskom na novi red ili kraj itanjem nailaskom na novi red ili kraj datotekedatotekeČČitanje cele datoteke je sa funkcijom file() itanje cele datoteke je sa funkcijom file() ČČitanje cele datoteke sa ispisom je funkcijom itanje cele datoteke sa ispisom je funkcijom fpassthru(), ili pomofpassthru(), ili pomoćću readfile()u readfile()

Page 139: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ČČitanje datotekeitanje datotekePrimerPrimer

Page 140: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

BrojaBrojaččiiPrimerPrimer

Page 141: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UpisUpis u u datotekudatotekuUpisUpis se se vrvršši funkcijom i funkcijom

fwrite($nasadatoteka , $tekst)fwrite($nasadatoteka , $tekst);;

Tekst iz promenljive $tekst upisuje se u datoteku na koju Tekst iz promenljive $tekst upisuje se u datoteku na koju pokazuje $nasadatoteka pokazuje $nasadatoteka

MoMožže se definisati broj karaktera (due se definisati broj karaktera (dužžina) koja se upisuje ina) koja se upisuje fwrite($nasadatoteka , $tekst, strlen($tekst))fwrite($nasadatoteka , $tekst, strlen($tekst));;

Delovi zapisa se moraju razdvojiti nekim simbolima, ako se Delovi zapisa se moraju razdvojiti nekim simbolima, ako se smesmešštaju u isti redtaju u isti red

$$teksttekst = $= $datedate..””\\tt””.$.$knjigeknjige..”” knjigaknjiga\\tt””.$.$olovkeolovke..””olovkiolovki\\tt”” .$.$gumicegumice..””gumicagumica\\tt””.$.$ukupnoartikalaukupnoartikala..””\\nn””;;

t t jeje simbolsimbol zaza tabulatortabulator

Page 142: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ZatvaranjeZatvaranje datotekedatoteke

DatotekaDatoteka se se zatvarazatvara funkcijomfunkcijom fclosefclose()(),, dokdok jeje konkretnokonkretno

fclosefclose(($nasadatoteka$nasadatoteka););

ZaZa rarazzlikuliku od upisa, kod zatvaranja se mnogo retko deod upisa, kod zatvaranja se mnogo retko deššavaju avaju slusluččajevi da se funkcija ne realizuje, pa se obiajevi da se funkcija ne realizuje, pa se običčno ne proveravano ne proverava

Zatvaranjem datoteka, funkcija Zatvaranjem datoteka, funkcija fclose()fclose() vravraćća true, pa se uvek a true, pa se uvek momožže proveriti kaoe proveriti kao

$$zzatvaranjeatvaranje==fclosefclose(($nasadatoteka$nasadatoteka););

If (! If (! $$zzatvaranjeatvaranje)){{echo echo ““ VaVašša porua poruddžžbina nije bina nije jojošš uvek obrađena uvek obrađena (snimljena). (snimljena).

Molimo pokuMolimo pokuššajte ponovo !ajte ponovo ! ”” ;;exit;exit;}}

Page 143: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Prekid radaPrekid radaPrekid rada se moPrekid rada se možže uraditi i automatski ako je u e uraditi i automatski ako je u toku nekog obaveznog koraka bila gretoku nekog obaveznog koraka bila grešškakaZa to se koristi funkcija dieZa to se koristi funkcija dieNajNajččeeššćće je to u if uslovu u kombinaciji sa e je to u if uslovu u kombinaciji sa otvaranjem, pa ukoliko se desi problem, kod se otvaranjem, pa ukoliko se desi problem, kod se prekida, i korisniku se prikazuje adekvatna prekida, i korisniku se prikazuje adekvatna gregrešškaka

PrimerPrimer$counter=$counter=““..//count.datcount.dat””;;If (!($If (!($datotekadatoteka==fopen($counterfopen($counter, , ““rr””))) die ())) die (““Problem Problem sasa

otvaranjemotvaranjem datotekadatoteka, , pokusajtepokusajte ponovoponovo!!””););

Page 144: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ČČitanje iz datotekeitanje iz datotekeZa otvaranje se koristi funkcija Za otvaranje se koristi funkcija fopen()fopen()Treba isTreba isččitati sve zapise koji postoje do tog trenutkaitati sve zapise koji postoje do tog trenutkaFunkcija Funkcija feof()feof() –– File End Of FileFile End Of File vravraćća true ako je a true ako je pokazivapokazivačč na kraju datotekena kraju datoteke

while (!feof($nasadatoteka))while (!feof($nasadatoteka))

Ispis svih elemenata podIspis svih elemenata podrarazumeva prolaz petljom kroz zumeva prolaz petljom kroz svaki red datoteka i ispis istog.svaki red datoteka i ispis istog.

@ @ $nasadatoteka$nasadatoteka==fopenfopen((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/AppServ/www/spisak.txtAppServ/www/spisak.txt””,,‘‘rr’’););If (! If (! $nasadatoteka$nasadatoteka)){{echo echo ““NemaNema novihnovih podudpodudžžbinabina ! ! ”” ;;exit;exit;}}while (!feof(while (!feof($nasadatoteka$nasadatoteka)))){{$$spisakspisak==fgetsfgets(($nasadatoteka$nasadatoteka, 999, 999););echo echo ““$$spisakspisak <<brbr/>/>””;;}}fclosefclose(($nasadatoteka$nasadatoteka););

Čitanje red po red do kraja datoteke, ili nakon iščitanih

998 bajtova

Page 145: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NaNaččini ini ččitanja datotekeitanja datoteke 1 1 ČČitanje red po red, dok itanje red po red, dok se ne dođe do kraja datotekese ne dođe do kraja datoteke, ili se is, ili se isččita ita 998 bajtova998 bajtova

$$spisakspisak==fgetsfgets(($nasadatoteka$nasadatoteka, 999, 999););

ČČitanje uz rastavljanje na pojedinaitanje uz rastavljanje na pojedinaččna polja, u odnosu na mesta na polja, u odnosu na mesta gde se nalaze granigde se nalaze graniččnici (tabulatori)nici (tabulatori)

$$spisakspisak==fgetfgetcsvcsv(($nasadatoteka$nasadatoteka, , 100, 100, ““ \\tt““););

RezultatiRezultati se se smesmešštaju u niz taju u niz $$spisakspisak, a 100 je du, a 100 je dužžina u karakterima ina u karakterima i trebalo bi da bude dui trebalo bi da bude dužže od due od dužžine najduine najdužžeg reda u datotecieg reda u datoteci

ČČitanje cele datoteke je funkcijom itanje cele datoteke je funkcijom readfile()readfile() i prikazuje se direktno i prikazuje se direktno u web u web ččitaitačču, funkcijom u, funkcijom file(),file(), kojom se sadrkojom se sadržžaj smeaj smeššta u nizta u niz

rreadfile (eadfile (““$DOCUMENT_ROOT$DOCUMENT_ROOT//……/folder//folder/spisak.txtspisak.txt””));;

Page 146: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NaNaččini ini ččitanja datotekeitanja datoteke 22$nasadatoteka$nasadatoteka==fopenfopen((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/AppServAppServ/www/www

//spisak.txtspisak.txt””,,‘‘rbrb’’););fpassthrufpassthru(($nasadatoteka$nasadatoteka););

FunkcijaFunkcija fpassthrufpassthru ččita sve fajlove od trenutne ita sve fajlove od trenutne pozicije pa do kraja fajla i smepozicije pa do kraja fajla i smeššta u baferta u bafer

<?php$file = fopen("test.txt","r");

// Čita prvi redfgets($file);

// Ostatak redova čita i šalje u baferecho fpassthru($file);

fclose($file); ?>

Page 147: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NaNaččini ini ččitanja datotekeitanja datoteke 33$nasadatoteka$nasadatoteka=f=freadread((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/AppServAppServ/www/www //spisak.txtspisak.txt””,, 1515););

Na ovaj naNa ovaj naččin iz datoteke sa definisanom putanjom in iz datoteke sa definisanom putanjom se se ččita ita 1515 bajtova i vrabajtova i vraćća kao string, smea kao string, smešštajutajućći u i u promenljivu $nasadatotekapromenljivu $nasadatoteka

Kada se proKada se proččita prvih ita prvih 1515 bajtova, i ponovo pozove bajtova, i ponovo pozove funkcija fread, ona automatski funkcija fread, ona automatski ččita sledeita sledeććih ih 1515bajtova, i tako redombajtova, i tako redom

Kada se dođe do krajaKada se dođe do kraja, i ostane manje od , i ostane manje od 1515bajtova, taj broj se probajtova, taj broj se proččita i vrati promenljivoj kao ita i vrati promenljivoj kao stringstring

Page 148: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer<?<?$plik="test.txt";$plik="test.txt";$czytanie=@fopen($plik,"r");$czytanie=@fopen($plik,"r");$tekst="";$tekst="";

while(!feof($czytanie)) {while(!feof($czytanie)) {$tekst.=fread($czytanie,500);$tekst.=fread($czytanie,500);}}

fclose($czytanie);fclose($czytanie);print($tekst);print($tekst);?>?>

Page 149: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Kopiranje i menjanje imena Kopiranje i menjanje imena Kopiranje (prva u druga)Kopiranje (prva u druga)

iif(f(!copy !copy ((““./prva.txt./prva.txt”” , , ““druga.txtdruga.txt”” )))) die (die (““Nije Nije uspelo kopiranje datoteke prva.txt u uspelo kopiranje datoteke prva.txt u druga.txt!druga.txt!””););

Promena imenaPromena imena

iif(f(!rename !rename ((““./prva.txt./prva.txt”” , , ““druga.txtdruga.txt”” )))) die (die (““Nije Nije uspela promena imena prva.txt u druga.txt!uspela promena imena prva.txt u druga.txt!””););

Page 150: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Provera postojanja i brisanjeProvera postojanja i brisanjeProvera postojanjaProvera postojanja

iif(file_existsf(file_exists((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/AppServ/www/spisak.txtAppServ/www/spisak.txt””))))eechocho ““PorudPorudžžbina bina ččeka na obradu !eka na obradu !””;;

eelselseeechocho ““NemaNema novihnovih porudporudžžbina !bina !””;;

Brisanje datotekeBrisanje datoteke

unlink unlink ((““$DOCUMENT$DOCUMENT_ROOT/_ROOT/AppServ/www/spisak.txtAppServ/www/spisak.txt””))

Funkcija unlink() vraFunkcija unlink() vraćća false ako se brisanje ne izvra false ako se brisanje ne izvršši. Za i. Za razliku od verazliku od veććine drugih jezika ne postoji funkcija deleteine drugih jezika ne postoji funkcija delete

Page 151: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Uzimanje informacijaUzimanje informacijaPrimerPrimer

Podrazumeva se datoteka Podrazumeva se datoteka count.dat u tekucount.dat u tekuććem em direktorijumudirektorijumu

Dolazi napočetak datoteke

Page 152: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

BrojaBrojačč poseposeććenostienosti

Podrazumeva se datoteka Podrazumeva se datoteka count.dat u tekucount.dat u tekuććem em direktorijumudirektorijumu

PrimerPrimer

Page 153: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ZakljuZaključčavanje datoteka 1avanje datoteka 1Koristi se da bi se izbegli problemi paKoristi se da bi se izbegli problemi pararalelne obrade bazelelne obrade bazeFunkcija za zakljuFunkcija za zaključčavanje je avanje je flock()flock()Funkcija vraFunkcija vraććaa true true ako se datoteka uspeako se datoteka uspeššno zakljuno zaključčaa

Vrednosti parametara funkcije Vrednosti parametara funkcije flock()flock()::

LOCK_SHLOCK_SH -- ZakljuZaključčaannoo za za ččitanje (viitanje (višše korisnika deli datoteku)e korisnika deli datoteku)LOCK_EXLOCK_EX -- ZakljuZaključčaannoo za upis (viza upis (višše korisnika ne moe korisnika ne možže da deli e da deli

datoteku)datoteku)LOCK_UNLOCK_UN -- OtkljuOtključčava zakljuava zaključčanu datotekuanu datotekuLOCK_NBLOCK_NB -- SpreSpreččava blokiranje prilikom zakljuava blokiranje prilikom zaključčavanjaavanja

flock()flock() nene radiradi sasa FAT i NFSFAT i NFS mremrežžnim sistemimanim sistemima

Page 154: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ZakljuZaključčavanje datoteka 2avanje datoteka 2$nasadatoteka $nasadatoteka = = fopenfopen ( ( ““$DOCUMENT_ROOT/../folder/$DOCUMENT_ROOT/../folder/spisak.txtspisak.txt””, , ‘‘abab’’););flock ( $flock ( $nasadatotekanasadatoteka, LOCK_EX ); // , LOCK_EX ); // zakljuzaključčaj datoteku radi upisivanjaaj datoteku radi upisivanjafwrite ( $nasadatoteka, $text ) ;fwrite ( $nasadatoteka, $text ) ;flock ( $nasadatoteka, LOCKflock ( $nasadatoteka, LOCK_UN ) ; // _UN ) ; // otkljuotključčaj datotekuaj datotekufclose ( $nasadatoteka ) ;fclose ( $nasadatoteka ) ;

$nasadatoteka $nasadatoteka = = fopenfopen ( ( ““$DOCUMENT_ROOT/../folder/$DOCUMENT_ROOT/../folder/spisak.txtspisak.txt””, , ‘‘rr’’););flock ( $flock ( $nasadatotekanasadatoteka, LOCK_, LOCK_SHSH ); // ); // zakljuzaključčaj datoteku radi aj datoteku radi ččitanjaitanjafwrite ( $nasadatoteka, $text ) ;fwrite ( $nasadatoteka, $text ) ;flock ( $nasadatoteka, LOCKflock ( $nasadatoteka, LOCK_UN ) ; // _UN ) ; // otkljuotključčaj datotekuaj datotekufclose ( $nasadatoteka ) ;fclose ( $nasadatoteka ) ;

Page 155: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

NNizoviizoviNiz je skalarna promenljiva memorijska lokacijaNiz je skalarna promenljiva memorijska lokacijaVrednosti niza su Vrednosti niza su elementielementiSvaki element ima Svaki element ima indeksindeks, pomo, pomoćću koga mu se pristupau koga mu se pristupaDefinisanje niza je pomoDefinisanje niza je pomoćću u arrayarrayArray nije funkcija veArray nije funkcija većć jezijeziččka konstrukcijaka konstrukcijaNizu se pristupa preko promenljive koja na njega ukazujeNizu se pristupa preko promenljive koja na njega ukazuje$promenljiva$promenljiva=array ( =array ( ‘‘PeraPera’’, , ‘‘MikaMika’’, , ‘‘LazaLaza’’););IndeksiIndeksi elemenataelemenata popoččinju od 0inju od 0

ČČitanje nekog od elemenataitanje nekog od elemenata$a$a=p=promenljivaromenljiva[0] ([0] ($a$a==PeraPera))$$b=pb=promenljivaromenljiva[2] ([2] ($$b=b=LazaLaza))

PromenaPromena nekog od elemenatanekog od elemenatappromenljivaromenljiva[0] = [0] = ‘‘ZikaZika’’ (($a$a=p=promenljivaromenljiva[0] ([0] ($a$a==ZikaZika))))

Page 156: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PristupPristup elementimaelementima nizanizaZaZa velikevelike nizovenizove, , iliili grupegrupe nizovanizova ((multidimenzionimultidimenzioni nizniz) ) koristekoriste se se petljepetlje zaza isisččitavanje sadritavanje sadržžaja nizaaja nizaNajNajččeeššćće je to e je to forfor petlja ili njena modifikacija petlja ili njena modifikacija foreachforeach

Primer for petlje za niz sa tri elementaPrimer for petlje za niz sa tri elementafor ( $ifor ( $i=0; $i<3; $i++)=0; $i<3; $i++)echo echo ““$$promenljiva[$ipromenljiva[$i]]””;;

Primer forPrimer foreacheach petlje za niz sa tri elementapetlje za niz sa tri elementaforforeacheach ( $( $promenljivapromenljiva as $as $drugapromenljivadrugapromenljiva))echo $echo $drugapromenljivadrugapromenljiva..’’ ’’;;

Svaki element niza se smešta u promenljivu $drugapromenljiva i

zatim štampa

Page 157: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UUččitavanje niza iz datotekeitavanje niza iz datotekeKada se formira datoteka, podaci se automatski mogu Kada se formira datoteka, podaci se automatski mogu prebaciti u niz da bi se parcijalno mogli obrađivatiprebaciti u niz da bi se parcijalno mogli obrađivatiPrebacivanjePrebacivanje datotekedatoteke u u nizniz jeje funkcijomfunkcijom file()file()FunkcijaFunkcija file()file() celucelu datotekudatoteku uuččitava u jedan niz, a itava u jedan niz, a svaki element tog niza je pojedinasvaki element tog niza je pojedinaččni red iz datotekeni red iz datotekeFunkcija Funkcija count()count() vravraćća ukupan broj elemenata u nizu a ukupan broj elemenata u nizu (broj redova u datoteci)(broj redova u datoteci)

$promenljiva$promenljiva = file ( = file ( ““$DOCUMENT_ROOT/../folder/$DOCUMENT_ROOT/../folder/spisak.txtspisak.txt””););////datotekadatoteka jeje u u nizunizu nana kojikoji ukazujeukazuje $promenljiva$promenljiva

$$brojelemenatabrojelemenata= count(= count($promenljiva$promenljiva); ); for ( $ifor ( $i=0; $i< =0; $i< $$brojelemenatabrojelemenata; $i++); $i++)

{echo {echo ““ $$promenljivapromenljiva[$i[$i]]””;};}

Page 158: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

RadRad sasa podacimapodacimaVrednosti koje su u datoteci unete kao text, a oVrednosti koje su u datoteci unete kao text, a odndnose ose se na brojne velise na brojne veliččineine,, moraju se konvertovati (input moraju se konvertovati (input typetype==““texttext””))KonverzijaKonverzija znakovneznakovne u u brojnubrojnu promenljivupromenljivu jejefunkcijomfunkcijom intvalintval()()DaDa bi se bi se svakisvaki odod elemenataelemenata niniza rasza rasččlanio na delove, lanio na delove, koristi se funkcija koristi se funkcija explode()explode()Kako su u datoteci podaci bili razdvojeni tabulatorom, Kako su u datoteci podaci bili razdvojeni tabulatorom, format funkcije jeformat funkcije je

eexplode(xplode(““\\tt”” , $, $promenljiva[$ipromenljiva[$i]]));;

NakonNakon rastavljanjarastavljanja elementaelementa nizaniza na njegove delove, na njegove delove, treba formirati novi niz treba formirati novi niz ččiji iji ćće elementi biti dobijeni e elementi biti dobijeni delovidelovi

Page 159: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Izdvajanje delova unutar elementaIzdvajanje delova unutar elementa[0][0] [1][1] [2][2]

3.“\t”. b.“\t”.c“\t”. d“\t”

Početni niz

[0][0] [1][1] [2][2] [[33]] [[44]] [[55]]

3 b c d ...

Novi niz 1

$$brojelemenatabrojelemenata= count(= count($promenljiva$promenljiva); ); for ( $ifor ( $i=0; $i< =0; $i< $$brojelemenatabrojelemenata; $i++); $i++)

$novi$novi = e= explode(xplode(““\\tt”” , , $$promenljivapromenljiva[$i[$i]]));;$novi$novi[0]=[0]=intvalintval (($novi$novi[0]); // [0]); // $novi$novi[0]=3[0]=3$novi$novi[1][1] // // $novi$novi[1]=b [1]=b ……

Ako je bilopotrebe za

konverzijom

Page 160: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

SlanjeSlanje mailmail--a u PHPa u PHP--uuU PHPU PHP--u se mail mou se mail možže slati direktno bez e slati direktno bez direktnog kontakta nekog od korisnidirektnog kontakta nekog od korisniččkih kih programa, ali se pri instalaciji mora definisati o programa, ali se pri instalaciji mora definisati o kom programu se radikom programu se radiFunkcija za slanje mailFunkcija za slanje mail--a je a je mailmail()()Kao argumenti funkcije obavezni su Kao argumenti funkcije obavezni su adresa, adresa, subject, i porukasubject, i poruka dok su ostali opcionidok su ostali opcioniProvera popunjenosti obaveznih polja moProvera popunjenosti obaveznih polja možže se e se izvrizvrššiti funkciti funkcijijom om isset()isset()Argument funkcije je Argument funkcije je namename poljpolje,e, koje se koje se kontrolikontrolišše, i ako je popunjeno vrae, i ako je popunjeno vraćća se a se truetrue

iif (isset($knjiga))f (isset($knjiga)){echo {echo ““OvoOvo poljepolje jeje popunjenopopunjeno””;};}

Page 161: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KodKod zaza slanjeslanje mailmail--aa

<?<?

$$imeime=$_=$_POST['imePOST['ime'];'];$$adresaadresa=$_=$_POST['adresaPOST['adresa'];'];$$teksttekst=$_=$_POST['tekstPOST['tekst'];'];

$$adresaprimaocaadresaprimaoca='='[email protected]@milence.com';';$subject='$subject='PorukaPoruka sasa sajtasajta !';!';$$sadrzajmailasadrzajmaila='='PoPoššiljalaciljalac: '.$: '.$imeime. ". "\\n".'En".'E mail mail popoššiljalacailjalaca: '.$: '.$adresaadresa. .

""\\n". "n". "KomentarKomentar: : \\n".$tekstn".$tekst. ". "\\n";n";$$dolaznisajtdolaznisajt='='From:milence.comFrom:milence.com';';

mail($adresaprimaocamail($adresaprimaoca, $subject, $, $subject, $sadrzajmailsadrzajmail, $, $dolaznisajtdolaznisajt););

?>?>

Page 162: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Upload fileUpload file -- 11HTML formaHTML forma

<html> <html> <body> <body>

<form action="<form action="upload_file.phpupload_file.php" method="post" " method="post" enctypeenctype="multipart/form="multipart/form--data"> data"> Filename:Filename:<input type="file" name="<input type="file" name="filefile" id="file" /> " id="file" /> <<brbr /> /> <input type="submit" name="submit" value="Submit" /><input type="submit" name="submit" value="Submit" />

</form></form>

</body></body></html> </html>

Za binarnefajlove: datoteke

Za fajlove

Page 163: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Upload fileUpload file –– 2 / 2 / upload_file.phpupload_file.php

PHP PHP kodkod

<?<?phpphp

if ($_if ($_FILES["FILES["filefile"][""]["errorerror"] > 0) "] > 0) { echo "Error: " . $_{ echo "Error: " . $_FILES["file"]["errorFILES["file"]["error"] . "<"] . "<brbr />"; } />"; }

else else { { echo "Upload: " . $_echo "Upload: " . $_FILES["file"]["nameFILES["file"]["name"] . "<"] . "<brbr />"; />"; echo "Type: " . $_echo "Type: " . $_FILES["file"]["typeFILES["file"]["type"] . "<"] . "<brbr />"; />"; echo "Size: " . ($_echo "Size: " . ($_FILES["file"]["sizeFILES["file"]["size"] / 1024) . " Kb<"] / 1024) . " Kb<brbr />"; />"; echo "Stored in: " . $_echo "Stored in: " . $_FILES["file"]["tmp_nameFILES["file"]["tmp_name"]; "]; } }

?> ?>

niz

$_FILES["file"]["name"] – ime uploadovanog fajla$_FILES["file"]["type"] - tip uploadovanog fajla$_FILES["file"]["size"] – veličina u bajtimauploadovanog fajla$_FILES["file"]["tmp_name"] - ime privremene kopije na serveru$_FILES["file"]["error"] – greška nastala pri uploadovanju fajla

Page 164: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Restrikcije kod uploadRestrikcije kod upload--aaUUploadpload .gif .gif iliili .jpeg f.jpeg fajlajl veliveliččina fajla doina fajla do 20 kb20 kb

<?<?phpphpif (if ((( ($_($_FILES["file"]["typeFILES["file"]["type"] == ""] == "image/gifimage/gif") || ") ||

($_($_FILES["file"]["typeFILES["file"]["type"] == ""] == "image/jpegimage/jpeg") || ") || ($_($_FILES["file"]["typeFILES["file"]["type"] == ""] == "image/image/pjpegpjpeg")) "))

&& ($_&& ($_FILES["file"]["sizeFILES["file"]["size"] < "] < 2000020000)) ))

{ { if ($_if ($_FILES["file"]["errorFILES["file"]["error"] > 0) "] > 0)

{ echo "Error: " . $_{ echo "Error: " . $_FILES["file"]["errorFILES["file"]["error"] . "<"] . "<brbr />"; } />"; } else { else {

echo "Upload: " . $_echo "Upload: " . $_FILES["file"]["nameFILES["file"]["name"] . "<"] . "<brbr />"; />"; echo "Type: " . $_echo "Type: " . $_FILES["file"]["typeFILES["file"]["type"] . "<"] . "<brbr />"; />"; echo "Size: " . ($_echo "Size: " . ($_FILES["file"]["sizeFILES["file"]["size"] / 1024) . " Kb<"] / 1024) . " Kb<brbr />"; />"; echo "Stored in: " . $_echo "Stored in: " . $_FILES["file"]["tmp_nameFILES["file"]["tmp_name"]; "];

} } } } else { echo "Invalid file"; } else { echo "Invalid file"; } ?> ?>

Page 165: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Dati kod kreira privremnu kopiju Dati kod kreira privremnu kopiju uploadupload--ovanogovanog fajla na serveru. Krajem fajla na serveru. Krajem skripta ova kopija nestaje, pa se vrskripta ova kopija nestaje, pa se vršši njeno kopiranje na drugu lokaciju.i njeno kopiranje na drugu lokaciju.

<?<?phpphpif (($_if (($_FILES["file"]["typeFILES["file"]["type"] == "image/gif") || ($_"] == "image/gif") || ($_FILES["file"]["typeFILES["file"]["type"] == "] ==

"image/jpeg") || ($_"image/jpeg") || ($_FILES["file"]["typeFILES["file"]["type"] == "image/"] == "image/pjpegpjpeg") && ") && ($_($_FILES["file"]["sizeFILES["file"]["size"] < 20000)) "] < 20000))

{ { if ($_if ($_FILES["file"]["errorFILES["file"]["error"] > 0) "] > 0) { echo "Return Code: " . $_{ echo "Return Code: " . $_FILES["file"]["errorFILES["file"]["error"] . "<"] . "<brbr />"; } />"; } else { else { echo "Upload: " . $_echo "Upload: " . $_FILES["file"]["nameFILES["file"]["name"] . "<"] . "<brbr />";/>";echo "Type: " . $_echo "Type: " . $_FILES["file"]["typeFILES["file"]["type"] . "<"] . "<brbr />";/>";echo "Size: " . ($_echo "Size: " . ($_FILES["file"]["sizeFILES["file"]["size"] / 1024) . " Kb<"] / 1024) . " Kb<brbr />"; />"; echo "Temp file: " . $_echo "Temp file: " . $_FILES["file"]["tmp_nameFILES["file"]["tmp_name"] . "<"] . "<brbr />"; />";

if (if (file_exists("uploadfile_exists("upload/" . $_/" . $_FILES["file"]["nameFILES["file"]["name"])) "])) { echo $_{ echo $_FILES["file"]["nameFILES["file"]["name"] . " already exists. "; } "] . " already exists. "; } else { else { move_uploaded_file($_FILES["file"]["tmp_namemove_uploaded_file($_FILES["file"]["tmp_name"], "upload/" "], "upload/"

.$_.$_FILES["file"]["nameFILES["file"]["name"]); "]); echo "Stored in: " . "upload/" . $_echo "Stored in: " . "upload/" . $_FILES["file"]["nameFILES["file"]["name"]; "]; } } } } } } else { echo "Invalid file"; } else { echo "Invalid file"; } ?> ?>

Page 166: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

TolikoToliko za sadaza sada

Page 167: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

PristupPristup MySQLMySQL bazibazi podatakapodatakapomopomoćću PHPu PHP--aa

Page 168: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Komunikacija sa bazom podatakaKomunikacija sa bazom podatakaUpotreba baza je zbog lakUpotreba baza je zbog lakššeg, bezbednijeg, breg, bezbednijeg, bržžeg i eg i efikasnijeg snimanja i efikasnijeg snimanja i ččitanja podatakaitanja podataka

Postupak komunikacije HTML stranice i baze Postupak komunikacije HTML stranice i baze podataka preko PHP kodapodataka preko PHP koda

Web browser Web server

HTMLZahtev

HTMLOdgovor

Web browser Web serverIzvršno

okruženje za PHP

MySQL server

PHPZahtev

HTMLOdgovor

PHPZahtev

Zahtev za podacima

Rezultat pretrage

HTMLOdgovor

Page 169: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 170: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KomunikacijaKomunikacija sasaMySQLMySQL BazomBazom podatakapodataka

Page 171: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Postupak izradePostupak izrade

1.1. PiPišše se HTML kod kojim se kreira izgled stranice e se HTML kod kojim se kreira izgled stranice za komunikacijuza komunikaciju

2.2. Određenim tasterima se dodeljuju pozivanja Određenim tasterima se dodeljuju pozivanja PHP kodaPHP koda

3.3. PiPišše se PHP kod kojim se pristupa, izvre se PHP kod kojim se pristupa, izvrššavaava i i prikazujeprikazuje žželjena eljena informacijainformacija iliili operacijaoperacija nad nad bazom podatakabazom podataka

Page 172: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PHP PHP kodkodFaze u PHP Faze u PHP kodukodu susu::

1.1. PreuzimanjePreuzimanje podatakapodataka iziz HTML HTML formularaformulara*** *** DodavanjeDodavanje simbolasimbola \\ dada bi se bi se ukloniliuklonili upravljupravljaaččki znaciki znaci

2.2. PristupPristup serveruserveru bazebaze podatakapodataka i i proveraprovera konekcijekonekcije3.3. PristupPristup bazibazi podatakapodataka i i proveraprovera konekcijekonekcije4.4. Definisanje upitaDefinisanje upita5.5. IzvrIzvrššavanje upita i deljenje vrsta u nizove zbog prikazaavanje upita i deljenje vrsta u nizove zbog prikaza

*** *** Uklanjanje simbola Uklanjanje simbola \\6.6. PrikazPrikaz podatakapodataka7.7. PrekidPrekid vezeveze sasa bazombazom

Page 173: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

1. 1. PreuzimanjePreuzimanje podatakapodataka izizHTML HTML formularaformulara

Page 174: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UnoUnoššenje podataka u bazuenje podataka u bazuPostupak je vrlo sliPostupak je vrlo sliččan definisanju upita, samo an definisanju upita, samo ššto se umesto komande Select koristi Insertto se umesto komande Select koristi Insert

Prvi korak je kreiranje HTML formularaPrvi korak je kreiranje HTML formulara

Page 175: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

HTML kodHTML kod

Page 176: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

insertinsert__book.phpbook.php aa<html><html><head><head><title>Book<title>Book--OO--RamaRama Book Entry Results</title>Book Entry Results</title>

</head></head><body><body><h1>Book<h1>Book--OO--RamaRama Book Entry Results</h1>Book Entry Results</h1><?<?phpphp// create short variable names// create short variable names$$isbnisbn=$_=$_POST['isbnPOST['isbn'];'];$author=$_$author=$_POST['authorPOST['author'];'];$title=$_$title=$_POST['titlePOST['title'];'];$price=$_$price=$_POST['pricePOST['price'];'];

if (!$if (!$isbnisbn || !$author || !$title || !$price)|| !$author || !$title || !$price){{

echo 'You have not entered all the required details.<echo 'You have not entered all the required details.<brbr />'/>'.'Please go back and try again.';.'Please go back and try again.';

exit;exit;}}

?>?></body></body></html></html>

Page 177: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

2. 2. PristupPristup MySQLMySQL serveruserverubazebaze podatakapodataka

Page 178: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KonekcijaKonekcija sasa serveromserverom bazebazeKonekcija na MySQL server: Konekcija na MySQL server: mysqlmysql_connect(). _connect(). Argumenti: ime raArgumenti: ime raččunara, ime korisnika i lozinka. unara, ime korisnika i lozinka. VraVraćća identifikator veze (pa se dodeljuje a identifikator veze (pa se dodeljuje promenljivoj).promenljivoj).

Primer:Primer:

<? <? phpphp$$konekcijakonekcija= = mysqlmysql_connect(_connect(““localhostlocalhost””, , ““perapera””, , ““pera1pera1””););?>?>

Page 179: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PristupPristup svimsvim bazamabazama nana serveruserveru

Pregled baza podataka (sinonim za show Pregled baza podataka (sinonim za show databases): mysql_list_dbs(). databases): mysql_list_dbs(). Argument: identifikator veze. Argument: identifikator veze. VraVraćća pokazivaa pokazivačč ($rezultat) na niz koji sadr($rezultat) na niz koji sadržži i imena dostupnih baza podataka.imena dostupnih baza podataka.

•• $rezultat= mysql_list_dbs($id_veze);$rezultat= mysql_list_dbs($id_veze);

Page 180: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ProveraProvera konekcijekonekcije u u pristupupristupu bazibazi

FunkcijaFunkcija die() die() ispisujeispisuje porukuporuku ((iliili popoziva neku ziva neku funkciju) nakon funkciju) nakon ččega prestaje sa parsiranjem ega prestaje sa parsiranjem skripta, i skripta, i ““izlaziizlazi”” iz njegaiz njegaKoristiKoristi se se kaokao ekvivalentekvivalent zaza exitexit

$URL = 'http://www.php.net/'; $fp = fopen ($URL, 'r') or die ("Could not connect to site <i>$URL</i>");

Page 181: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

3. 3. PristupPristup bazibazi podatakapodataka

Page 182: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VezaVeza sasa bazombazom podatakapodatakaIzbor baze podataka: mysql_select_db(). Izbor baze podataka: mysql_select_db(). Argumenti: ime baze i identifikator veze. VraArgumenti: ime baze i identifikator veze. Vraćća True a True ako je uspeako je uspeššno obavljen izbor baze.no obavljen izbor baze.•• mysql_select_db(mysql_select_db(““ime_bazeime_baze””, $id_veze);, $id_veze);

PrimerPrimer$id_veze= $id_veze= mysqlmysql_connect(_connect(““localhostlocalhost””, , ““perapera””, , ““pera1pera1””););if(mysql_select_db(if(mysql_select_db(““ime_bazeime_baze””, $id_veze)) , $id_veze))

echo echo ““Konektovani smo na localhost na ime_bazeKonektovani smo na localhost na ime_baze””););else die (else die (““Konekcija nije uspelaKonekcija nije uspela””))

Page 183: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

SShow tableshow tables

Pregled tabela u bazi podataka (sinonim za show Pregled tabela u bazi podataka (sinonim za show tables): mysql_list_tables(). tables): mysql_list_tables(). Argumenti: ime baze i identifikator veze. Argumenti: ime baze i identifikator veze. VraVraćća pokazivaa pokazivačč ($rezultat) na niz koji sadr($rezultat) na niz koji sadržži i imena dostupnih tabela u datoj bazi podataka.imena dostupnih tabela u datoj bazi podataka.

PrimerPrimer

$id_veze= $id_veze= mysqlmysql_connect(_connect(““localhostlocalhost””, , ““perapera””, , ““pera1pera1””););

$rezultat= mysql_list_tables($rezultat= mysql_list_tables(““ime_bazeime_baze””, $id_veze);, $id_veze);

Page 184: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

RowsRowsOdređivanje broja redova koje je vratio upitOdređivanje broja redova koje je vratio upit: : mysql_num_rows(). Argument: pokazivamysql_num_rows(). Argument: pokazivačč na skup na skup rezultata. rezultata. •• $broj_redova= mysql_num_rows( $rezultat);$broj_redova= mysql_num_rows( $rezultat);

Određivanje broja redova koje je promenila neka od Određivanje broja redova koje je promenila neka od naredbi insert, update ili delete: mysql_affected_rows(). naredbi insert, update ili delete: mysql_affected_rows(). Argument: identifikator veze. Argument: identifikator veze. •• $broj_redova= mysql_affected_rows( $$broj_redova= mysql_affected_rows( $id_vezeid_veze););

Za preuzimanje Za preuzimanje ““slogovaslogova”” koje je server vratio kao upit: koje je server vratio kao upit: mysql_fetch_row(). Argument: pokazivamysql_fetch_row(). Argument: pokazivačč na skup rezultata na skup rezultata upita.upita.•• $redovi= mysql_fetch_row( $$redovi= mysql_fetch_row( $skup_rezultataskup_rezultata););•• Ponovnim pozivanjem funkcije, nakon Ponovnim pozivanjem funkcije, nakon ččitanja jednog, prelazi itanja jednog, prelazi

se na drugi red. Na kraju se vrase na drugi red. Na kraju se vraćća False.a False.

Page 185: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer veze sa serveromPrimer veze sa serverom

Page 186: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

4. 4. DefinisanjeDefinisanje upitaupita

Page 187: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UpitiUpitiU PHPU PHP--u vau važži: Ako nema identifikatora uvek se i: Ako nema identifikatora uvek se podrazumeva poslednja otvorena veza.podrazumeva poslednja otvorena veza.

Funkcija koja realizuje upit: mysql_query(). Funkcija koja realizuje upit: mysql_query(). Argument je string sa upitom i identifikator veze. Argument je string sa upitom i identifikator veze. Ako se upit izvrAko se upit izvršši vrai vraćća se skup rezultata ili Falsea se skup rezultata ili False

PrimerPrimer

$id_veze = $id_veze = mysqlmysql_connect();_connect();$rezultat = mysql_query ($rezultat = mysql_query (““SHOW DATABASESSHOW DATABASES””, $id_veze );, $id_veze );

Page 188: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 189: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Definisanje upitaDefinisanje upitaU U komandikomandi mysql_querymysql_query upit se moupit se možže kucati e kucati direktno (pod znacima navoda), ili se prethodno direktno (pod znacima navoda), ili se prethodno definisati nekoj promenljivoj (kao string), pa se definisati nekoj promenljivoj (kao string), pa se ta promenljiva pozvati (ta promenljiva pozvati (ššto je bolja varijanta)to je bolja varijanta)

GreGrešška kod izvrka kod izvrššavanja upita se takođe definiavanja upita se takođe definišše e pomopomoćću die()u die()

Page 190: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Prihvatanje vraPrihvatanje vraććenih podatakaenih podataka

Nakon izvrNakon izvrššenog upita, vraenog upita, vraććene podatke treba smestiti u ene podatke treba smestiti u promenljivu.promenljivu.Ova promenljiva ima sloOva promenljiva ima složženu strukturu jer su u njoj svi enu strukturu jer su u njoj svi vravraććeni zapisi sa svojim elementima, pa se prvo sa eni zapisi sa svojim elementima, pa se prvo sa mysql_fetch_row() ovo deli na pojedinamysql_fetch_row() ovo deli na pojedinaččne zapise, a tek ne zapise, a tek onda dobijenom nizu izdvaja konkretna informacijaonda dobijenom nizu izdvaja konkretna informacija

PrimerPrimer

$id_veze = $id_veze = mysqlmysql_connect();_connect();$rezultat = mysql_query ($rezultat = mysql_query (““SHOW DATABASESSHOW DATABASES””, $id_veze );, $id_veze );while ($query_while ($query_podacipodaci = mysql_fetch_row($rezultat ))= mysql_fetch_row($rezultat ))

{{echo echo $query_$query_podacipodaci [0], [0], ““<<brbr>0>0””;; //prva kolona zapisa//prva kolona zapisa

}}

Page 191: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer kreiranja tabele kroz upitPrimer kreiranja tabele kroz upit

Page 192: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Uklanjanja nepoUklanjanja nepožželjnih simbolaeljnih simbola

Page 193: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer: HTML kod Primer: HTML kod

results.php

Page 194: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer: PHP kod Primer: PHP kod -- aa<html><html><head><head>

<title>Book<title>Book--OO--RamaRama Search Results</title>Search Results</title></head></head><body><body><h1>Book<h1>Book--OO--RamaRama Search Results</h1>Search Results</h1>

<?<?phpphp$$searchtypesearchtype=$_=$_POST['searchtypePOST['searchtype'];'];$$searchtermsearchterm=$_=$_POST['searchtermPOST['searchterm'];'];

xxxxxx?>?></body></body></html></html>

Preuzimanje podataka iz

padajućeg menija i tekstualnog polja

Page 195: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Dodatna obrada unetih podatakaDodatna obrada unetih podataka

Kod tekstualnih unosa treba pretpostaviti da Kod tekstualnih unosa treba pretpostaviti da korisnik mokorisnik možže uneti i belinee uneti i beline (space)(space) na pona poččetku ili etku ili kraju rekraju reččii

Odsecanje ovih delova se vrOdsecanje ovih delova se vršši funkcijom trim()i funkcijom trim()

$pera$pera=trim(=trim($pera$pera))$$mikamika=trim(=trim($pera$pera))

$$searchtermsearchterm= = trim($searchtermtrim($searchterm););

Page 196: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Dodatna obrada unetih podatakaDodatna obrada unetih podataka

ProveraProvera dada lili susu unetiuneti podacipodaci kojikoji se ose oččekujuekuju

if (if (!!$$searchtypesearchtype || || !!$$searchtermsearchterm)){{

////echo 'You have not entered search details. Please go echo 'You have not entered search details. Please go back and try again.';back and try again.';

echo 'echo 'Niste uneli podatke za pretraguNiste uneli podatke za pretragu.. Molimo Vas da se to Molimo Vas da se to uuččinite i pokuinite i pokuššate ponovoate ponovo.';.';exit;exit;

}}

Page 197: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Dodatna obrada unetih podatakaDodatna obrada unetih podatakaKod unoKod unoššenja podataka u bazu mora se voditi enja podataka u bazu mora se voditi raraččuna o posebnim znacima koji u pisanom una o posebnim znacima koji u pisanom govornom jeziku imaju jedno, a u programskom govornom jeziku imaju jedno, a u programskom drugo znadrugo značčenjeenjeTo su znaci koje baza tumaTo su znaci koje baza tumačči kao upravljai kao upravljaččke ke znakove: znakove: ', ', \\ ," i null," i nullIspredIspred ovihovih znakovaznakova trebatreba dodatidodati \\ dada bi se bi se onionitumatumaččili kao znakovni podaciili kao znakovni podaci

TaTadada: : ' ' postajepostaje \\" " postajepostaje \\""\\ postajepostaje \\\\\\\\ postajepostaje \\\\\\\\

Page 198: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

addslashesaddslashes() i () i magic_quotes_gpcmagic_quotes_gpc()()

PHP PHP imaima dvedve posebneposebne funkcijefunkcije dda a prethodnoprethodno opisaniopisanipostupakpostupak automatizujeautomatizujeFunkcijaFunkcija addslashesaddslashes() () ispredispred svihsvih navodnikanavodnika dodajedodaje \\FunkcijaFunkcija stripslashesstripslashes() () uklanjauklanja dodatedodate \\

KodKod ststaarijihrijih verzijaverzija PHPPHP--a, a, potrebnopotrebno jeje ukljuuključčiti iti konfiguracijsku direktivu magickonfiguracijsku direktivu magic__quotes_gpcquotes_gpc dada bi se bi se ovajovaj postupakpostupak automatskiautomatski odvijaoodvijaoSkreSkreććenica gpc dolazi od GET, POST i COOKIE, enica gpc dolazi od GET, POST i COOKIE, ššto to znaznačči da se podaci iz tih izvora automatski i da se podaci iz tih izvora automatski konvertuju u oblik sa konvertuju u oblik sa \\DaDa lili jeje nana konkretnomkonkretnom raraččunaruunaru ova ova funkcija funkcija ukljuuključčena moena možže se proveriti sa magice se proveriti sa magic__quotes_gpcquotes_gpc() () koja vrakoja vraćća true ako jeste.a true ako jeste.

Page 199: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

addslashesaddslashes() i () i magic_quotes_gpcmagic_quotes_gpc()()

Ako se ove funkcije koriste, ne treba zaboraviti Ako se ove funkcije koriste, ne treba zaboraviti da se kod vrada se kod vraććanja podataka iz baze ka korisniku, anja podataka iz baze ka korisniku, uvedeni znak uvedeni znak \\ ukloniukloni sasa stripslashesstripslashes() () dada gagakorisnikkorisnik nene bi videobi videoIspitivanjeIspitivanje dada lili jeje aktiviranaaktivirana ova ova fukcijafukcija, i , i dodavanjedodavanje kosekose crtecrte \\ momožže se uraditi sa e se uraditi sa

if (if ( !!get_magic_quotes_gpcget_magic_quotes_gpc()() )){{

$$searchtypesearchtype = = addslashes($searchtypeaddslashes($searchtype););$$searchtermsearchterm = = addslashes($searchtermaddslashes($searchterm););

}}

U istim promenljivim su sada smešteni obrađeni podaci

Page 200: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Primer: PHP kod Primer: PHP kod -- bb

<html><html><head><title>Book<head><title>Book--OO--RamaRama Search Results</title></head>Search Results</title></head><body><body><h1>Book<h1>Book--OO--RamaRama Search Results</h1>Search Results</h1><?<?phpphp

$$searchtypesearchtype=$_=$_POST['searchtypePOST['searchtype'];'];$$searchtermsearchterm=$_=$_POST['searchtermPOST['searchterm'];'];$$searchtermsearchterm= = trim($searchtermtrim($searchterm););

if (!$if (!$searchtypesearchtype || !$|| !$searchtermsearchterm)){{

echo 'You have not entered search details. Please go back aecho 'You have not entered search details. Please go back and trynd try again.';again.';exit;exit;

}}

if (!if (!get_magic_quotes_gpcget_magic_quotes_gpc())()){{

$$searchtypesearchtype = = addslashes($searchtypeaddslashes($searchtype););$$searchtermsearchterm = = addslashes($searchtermaddslashes($searchterm););

}}?>?></body></html></body></html>

Page 201: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

6. Prikaz podataka6. Prikaz podataka

Page 202: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 203: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 204: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Prikaz u formi uređenog tekstaPrikaz u formi uređenog teksta

Page 205: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Prikaz u formi tabelePrikaz u formi tabele

Page 206: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

7. Rask7. Raskiid veze sa bazomd veze sa bazom

Page 207: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Raskid vezeRaskid vezeRaskid veze sa MySQL serverom: Raskid veze sa MySQL serverom: mysqlmysql_close(). _close(). Argument: identifikator veze. Argument: identifikator veze. VraVraćća True ako je uspea True ako je uspeššno zatvorena veza.no zatvorena veza.

PrimerPrimer

$id_veze= $id_veze= mysqlmysql_connect(_connect(““localhostlocalhost””, , ““perapera””, , ““pera1pera1””););mysqlmysql_close($id_veze);_close($id_veze);

Page 208: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimer

Page 209: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimerPrimerKreiranje guest bookKreiranje guest book--aaCilj: Cilj: •• Prikazati listu korisnika koji su ulogovaniPrikazati listu korisnika koji su ulogovani•• Dozvoliti korisnicima da unesu svoje ime i Dozvoliti korisnicima da unesu svoje ime i

komentarkomentar•• Podatke smestiti u bazu, i prikazati ih Podatke smestiti u bazu, i prikazati ih

Page 210: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 211: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 212: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 213: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

WEB WEB PROGRAMIRANJEPROGRAMIRANJEPHPPHP

PrimeriPrimeri

Page 214: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrimeriPrimeri radarada sasa MySQLMySQL--omom u u XamppXampp--uu

NapravitiNapraviti bazubazu ""proba_bazaproba_baza" i " i tabelutabelu""proba_tabelaproba_tabela" u " u PHPMyAPHPMyAddminmin--uu

Page 215: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

12

Page 216: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 217: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva
Page 218: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

Popuna tabelaPopuna tabela

DodatiDodati::•• 2 Mika 2 Mika MikicMikic, , TelekomunikacijeTelekomunikacije•• 3 Ana 3 Ana AnicAnic MedicinskaMedicinska informatikainformatika•• 4 4 LazaLaza LazicLazic PBTPBT

KonaKonaččnana tabelatabela

Page 219: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VezaVeza sasa serveromserverom bazebaze podatakapodataka

KodKod stranicestranice baza.phpbaza.phpa)a)<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", "") or die ("", "root", "") or die ("VezaVeza sasa

serveromserverom nijenije uspostavljenauspostavljena.");.");?>?>

b)b)<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhostxx", "root", "") or die ("", "root", "") or die ("VezaVeza sasa

serveromserverom nijenije uspostavljenauspostavljena.");.");?>?>

Page 220: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VezaVeza sasa serveromserverom bazebaze podatakapodataka

KodKod stranicestranice baza.phpbaza.phpa)a)<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", ""); ", "root", "");

if ($connect)if ($connect){{

echo ("echo ("VezaVeza sasa serveromserverom jeje uspesnouspesno uspostavljenauspostavljena.");.");}}elseelse{{

echo ("echo ("VezaVeza sasa serveromserverom nijenije uspostavljenauspostavljena.");.");}}?>?>

Page 221: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

DozvoleDozvole

GRANT ALL ON GRANT ALL ON proba_bazaproba_baza.* TO .* TO peraperaIDENTIFIED BY 'IDENTIFIED BY 'pericperic' WITH GRANT OPTION;' WITH GRANT OPTION;

$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "", "perapera", ", ""pericperic") or die ("") or die ("GreskaGreska u u konekcijikonekciji !");!");

$create = mysql_query("CREATE DATABASE IF $create = mysql_query("CREATE DATABASE IF NOT EXISTS moviesite") or die(mysql_error());NOT EXISTS moviesite") or die(mysql_error());

Page 222: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VezaVeza sasa bazombazom podatakapodataka

KodKod stranicestranice baza.phpbaza.phpa)a)<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", "")or die ("", "root", "")or die ("VezaVeza sasa

serveromserverom nijenije uspostavljenauspostavljena.");.");@mysql_select_db("proba_baza") or die( "Baza nije dostupna!");@mysql_select_db("proba_baza") or die( "Baza nije dostupna!");?>?>

b)b)<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", "")or die ("", "root", "")or die ("VezaVeza sasa

serveromserverom nijenije uspostavljenauspostavljena.");.");@mysql_select_db("proba_baza@mysql_select_db("proba_bazaxx") or die( "Baza nije dostupna!");") or die( "Baza nije dostupna!");?>?>

Page 223: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

DefinisanjeDefinisanje tabeletabele i i upitaupita

//Definisanje tabele kojoj se pristupa//Definisanje tabele kojoj se pristupa

$tabela="proba_tabela";$tabela="proba_tabela";

//Definisanje upita //Definisanje upita

$query = "SELECT * FROM $tabela " ;$query = "SELECT * FROM $tabela " ;

//Izvrsavanje upita i dodela re//Izvrsavanje upita i dodela rezzultata upita promenljivoj rezultatultata upita promenljivoj rezultat

$rezultat = mysql_query($query) or die(mysql_error());$rezultat = mysql_query($query) or die(mysql_error());

Page 224: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

ObradaObrada rezultatarezultata upitaupita$$tabelatabela="="proba_tabelaproba_tabela";";$query = "SELECT * FROM $$query = "SELECT * FROM $tabelatabela " ;" ;$$rezultatrezultat = = mysql_query($querymysql_query($query) or ) or die(mysql_errordie(mysql_error());());

while($rowwhile($row = = mysql_fetch_array($rezultatmysql_fetch_array($rezultat)){)){echo $row [0] ;echo $row [0] ;echo $row [1] ;echo $row [1] ;echo $row [2] ;echo $row [2] ;echo $row [3] ;echo $row [3] ;echo ("<echo ("<brbr>") ;>") ;

..........

Page 225: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

PrikazPrikaz podatakapodataka iziz bazebaze<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", "") or die ("", "root", "") or die ("VezaVeza sasa

serveromserverom nijenije uspostavljenauspostavljena.");.");@@mysql_select_db("proba_bazamysql_select_db("proba_baza") or die( "") or die( "BazaBaza nijenije dostupnadostupna!");!");

$$tabelatabela="="proba_tabelaproba_tabela";";$query = "SELECT * FROM $$query = "SELECT * FROM $tabelatabela " ;" ;$$rezultatrezultat = = mysql_query($querymysql_query($query) or ) or die(mysql_errordie(mysql_error());());

while($rowwhile($row = = mysql_fetch_array($rezultatmysql_fetch_array($rezultat)){)){echo $row [0] ;echo $row [0] ;echo $row [1] ;echo $row [1] ;echo $row [2] ;echo $row [2] ;echo $row [3] ;echo $row [3] ;echo ("<echo ("<brbr>") ;>") ;

}}?>?>

Page 226: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

StruktuiranStruktuiran prikazprikaz krozkroz tabelutabeluecho "<table border='1' width='550' echo "<table border='1' width='550' cellspacingcellspacing='5' ='5' cellpaddingcellpadding='1'>";='1'>";echo "<echo "<trtr><td>><td>RedniRedni brojbroj</td><td></td><td>ImeIme</td><td></td><td>PrezimePrezime</td></td><td><td>SmerSmer</td></</td></trtr>";>";

while($rowwhile($row = = mysql_fetch_array($rezultatmysql_fetch_array($rezultat)){)){echo "</td><td>"; echo "</td><td>"; echo $row[0];echo $row[0];echo "</td><td>"; echo "</td><td>"; echo $row[1];echo $row[1];echo "</td><td>"; echo "</td><td>"; echo $row[3];echo $row[3];echo "</td><td>"; echo "</td><td>"; echo $row[echo $row[44];];echo "</td></echo "</td></trtr>"; >"; ++$i;++$i;}}

echo "</table >";echo "</table >";

Page 227: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KompletanKompletan kodkod<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", "") or die ("", "root", "") or die ("VezaVeza sasa serveromserverom nijenije

uspostavljenauspostavljena.");.");@@mysql_select_db("proba_bazamysql_select_db("proba_baza") or die( "") or die( "BazaBaza nijenije dostupnadostupna!");!");$$tabelatabela="="proba_tabelaproba_tabela";";$query = "SELECT * FROM $$query = "SELECT * FROM $tabelatabela " ;" ;$$rezultatrezultat = = mysql_query($querymysql_query($query) or ) or die(mysql_errordie(mysql_error());());echo "<table border='1' width='550' echo "<table border='1' width='550' cellspacingcellspacing='5' ='5' cellpaddingcellpadding='1'>";='1'>";echo "<echo "<trtr><td>><td>RedniRedni brojbroj</td><td></td><td>ImeIme</td><td></td><td>PrezimePrezime</td><td></td><td>SmerSmer</td></</td></trtr>";>";while($rowwhile($row = = mysql_fetch_array($rezultatmysql_fetch_array($rezultat)){)){

echo "</td><td>"; echo "</td><td>"; echo $row[0];echo $row[0];echo "</td><td>"; echo "</td><td>"; echo $row[1];echo $row[1];echo "</td><td>"; echo "</td><td>"; echo $row[3];echo $row[3];echo "</td><td>"; echo "</td><td>"; echo $row[echo $row[44];];echo "</td></echo "</td></trtr>"; >"; ++$i;++$i;}}

echo "</table >";echo "</table >";?>?>

Page 228: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UnosUnos podatakapodataka u u bazubazu

$insert = "INSERT INTO $insert = "INSERT INTO proba_tabelaproba_tabela ((id_tabela_probaid_tabela_proba, , imeime, , prezimeprezime, , smersmer) ) VALUES (5, 'VALUES (5, 'JovicaJovica', '', 'MaricMaric', '', 'MrezneMrezne tehnologijetehnologije'), (6, ''), (6, 'IvanaIvana', '', 'IlicIlic', ', ''ElektronskoElektronsko poslovanjeposlovanje')" ;')" ;

mysql_query($insertmysql_query($insert) or ) or die(mysql_errordie(mysql_error());());

Page 229: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

<?<?$connect = $connect = mysql_connect("localhostmysql_connect("localhost", "root", "") or die ("", "root", "") or die ("VezaVeza sasa serveromserverom nijenije uspostavljenauspostavljena.");.");@@mysql_select_db("proba_bazamysql_select_db("proba_baza") or die( "") or die( "BazaBaza nijenije dostupnadostupna!");!");$insert = "INSERT INTO $insert = "INSERT INTO proba_tabelaproba_tabela ((id_tabela_probaid_tabela_proba, , imeime, , prezimeprezime, , smersmer) VALUES (5, ') VALUES (5, 'JovicaJovica', ',

''MaricMaric', '', 'MrezneMrezne tehnologijetehnologije'), (6, ''), (6, 'IvanaIvana', '', 'IlicIlic', '', 'ElektronskoElektronsko poslovanjeposlovanje')" ;')" ;

mysql_query($insertmysql_query($insert) or ) or die(mysql_errordie(mysql_error());());$$tabelatabela="="proba_tabelaproba_tabela";";$query = "SELECT * FROM $$query = "SELECT * FROM $tabelatabela " ;" ;$$rezultatrezultat = = mysql_query($querymysql_query($query) or ) or die(mysql_errordie(mysql_error());());echo "<table border='1' width='550' echo "<table border='1' width='550' cellspacingcellspacing='5' ='5' cellpaddingcellpadding='1'>";='1'>";echo "<echo "<trtr><td>><td>RedniRedni brojbroj</td><td></td><td>ImeIme</td><td></td><td>PrezimePrezime</td><td></td><td>SmerSmer</td></</td></trtr>";>";while($rowwhile($row = = mysql_fetch_array($rezultatmysql_fetch_array($rezultat)){)){

echo "</td><td>"; echo "</td><td>"; echo $row[0];echo $row[0];echo "</td><td>"; echo "</td><td>"; echo $row[1];echo $row[1];echo "</td><td>"; echo "</td><td>"; echo $row[3];echo $row[3];echo "</td><td>"; echo "</td><td>"; echo $row[echo $row[44];];echo "</td></echo "</td></trtr>"; >"; ++$i;++$i;}}

echo "</table >";echo "</table >";?>?>

Page 230: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

UpitUpit..........@@mysql_select_db("proba_bazamysql_select_db("proba_baza") or die( "") or die( "BazaBaza nijenije dostupnadostupna!");!");

$insert = "INSERT INTO $insert = "INSERT INTO proba_tabelaproba_tabela ((id_tabela_probaid_tabela_proba, , imeime, , prezimeprezime, , smersmer) ) " . "VALUES (7, '" . "VALUES (7, 'RadojeRadoje', '', 'RakicRakic', '', 'TelekomunikacijeTelekomunikacije')" ;')" ;

mysql_query($insertmysql_query($insert) or ) or die(mysql_errordie(mysql_error());());

$$tabelatabela="="proba_tabelaproba_tabela";";

$query = "SELECT $query = "SELECT imeime, , prezimeprezime FROM $FROM $tabelatabela WHERE WHERE smersmer='='TelekomunikacijeTelekomunikacije' ORDER BY ' ORDER BY imeime";";

$$rezultatrezultat = = mysql_query($querymysql_query($query) or ) or die(mysql_errordie(mysql_error());());

echo "<table border='1' width='550' echo "<table border='1' width='550' cellspacingcellspacing='5' ='5' cellpaddingcellpadding='1'>";='1'>";..................

Page 231: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

KreiranjeKreiranje tabeletabele u PHPu PHP--uu$$druga_tabeladruga_tabela = "CREATE TABLE = "CREATE TABLE proba_tabela_2proba_tabela_2((

idid_proba_tabela_2_proba_tabela_2 int(11) NOT NULL auto_increment, int(11) NOT NULL auto_increment, imeime varchar(25) NOT NULL, varchar(25) NOT NULL, prezimeprezime varchar(25) NOT NULL, varchar(25) NOT NULL, godina_studijagodina_studija int(11) NOT NULL default int(11) NOT NULL default 11, , PRIMARY KEY (idPRIMARY KEY (id_proba_tabela_2_proba_tabela_2 ), ),

)) ";";

mysql_query($ mysql_query($ druga_tabeladruga_tabela ) or die (mysql_error());) or die (mysql_error());

Page 232: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

RadRad sasa formularomformularomPotrebnoPotrebno jeje napravitinapraviti formularformularEventualnoEventualno proveritiproveriti sadrzajsadrzaj JavaScriptJavaScript--omom iliilitrazititraziti potvrdupotvrduPrenetiPreneti svesve promenljivepromenljive u PHP u PHP stranicustranicuDefinisatiDefinisati globalneglobalne promenljivepromenljive kaokao i i podatkepodatke o o bazibaziU U zavisnostizavisnosti odod akcijeakcije pozvatipozvati odgovarajuceodgovarajucefunkcijefunkcije zaza realizacijurealizacijuPrikazatiPrikazati podatkepodatke i/ilii/ili ihih upisatiupisati u u bazubazu

Page 233: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

BrisanjeBrisanje podatakapodatakafunction function izbrisi_podatak($podatakizbrisi_podatak($podatak)){{$host="$host="localhostlocalhost";";$user="root";$user="root";$password="";$password="";$$bazabaza="baza_studenti_8";="baza_studenti_8";$$tabelatabela="="tabela_podacitabela_podaci";";

mysql_connect($hostmysql_connect($host , $user, $password) or die (", $user, $password) or die ("VezaVeza sasaserveromserverom nijenije uspostavljenauspostavljena.");.");@@mysql_select_db($bazamysql_select_db($baza) or die( ") or die( "BazaBaza nijenije dostupnadostupna!");!");

$query = "DELETE FROM $$query = "DELETE FROM $tabelatabela WHERE WHERE id_tabela_podaciid_tabela_podaci='$='$podatakpodatak' ";' ";mysql_query($querymysql_query($query););

}}

Page 234: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

IzmenaIzmena podatakapodatakafunction function izmeni_podatak_fizmeni_podatak_f ($($redni_brojredni_broj, $, $novo_imenovo_ime, $, $novo_prezimenovo_prezime, ,

$$novi_smernovi_smer, $, $nova_godinanova_godina)){{$host="$host="localhostlocalhost";";$user="root";$user="root";$password="";$password="";$$bazabaza="baza_studenti_8";="baza_studenti_8";$$tabelatabela="="tabela_podacitabela_podaci";";

mysql_connect($hostmysql_connect($host , $user, $password) or die (", $user, $password) or die ("VezaVeza sasa serveromserveromnijenije uspostavljenauspostavljena.");.");@@mysql_select_db($bazamysql_select_db($baza) or die( ") or die( "BazaBaza nijenije dostupnadostupna!");!");

$update = "UPDATE $$update = "UPDATE $tabelatabela SET SET imeime='$='$novo_imenovo_ime', ', prezimeprezime='$='$novo_prezimenovo_prezime', ', smersmer='$='$novi_smernovi_smer', ', godinagodina= = '$'$nova_godinanova_godina' WHERE ' WHERE id_tabela_podaciid_tabela_podaci=$=$redni_brojredni_broj";";

$results = $results = mysql_query($updatemysql_query($update) or ) or die(mysql_errordie(mysql_error());());}}

Page 235: 5. Osnove - PHP-a 08 - webdizajn.ict.edu.rswebdizajn.ict.edu.rs/sites/default/files/kurs_material/Web dizajn... · Promenljive Počinju rezervisanim simbolom $, nakon čega ide promenljiva

VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije

BeogradBeograd

WEB WEB PROGRAMIRANJEPROGRAMIRANJEPHPPHP

PrimeriPrimeri