5. osnove - php-a 08 -...
TRANSCRIPT
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
Osnove PHPOsnove PHP--aa
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(); ?>(); ?>
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
<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
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>
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
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>>
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
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) )
PrimerPrimer
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
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
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””
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
Funkcije za stringFunkcije za string--oveove
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
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
PrimerPrimer
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
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
LogiLogiččki operatoriki operatori
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””););
PrimerPrimer
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
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
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
Funkcije promenljivihFunkcije promenljivih
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””););?>?>
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")")
PrimerPrimer
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]) }]) }
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
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";";
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
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";";
Funkcije nizovaFunkcije nizova
TolikoToliko za sadaza sada
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
NaredbeNaredbe
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........
}}
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
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........
}}
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
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
....}....}
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
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 {....}
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
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
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
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
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 !");}!");}
}}
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>
ForeachForeach
ContinueContinue -- BreakBreak
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
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
TolikoToliko za sadaza sada
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
PreuPreuzimanje podataka zimanje podataka iz formularaiz formulara
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>
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
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>
KreiranjeKreiranje linkalinka u bodyu body--juju
KreiranjeKreiranje linkalinka krozkroz scriptscript
KreiranjeKreiranje linkalinka krozkroz dogadogađajđaj
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
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
URL URL kodovanjekodovanje
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
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
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
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>
<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
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;}}?> ?>
JednaJedna--dvedve stranestrane
PHP_SELFPHP_SELF
<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
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); ); ?>?>
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
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>
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
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>
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.
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>
<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";
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
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
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>
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
TolikoToliko za sadaza sada
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
OrganizacijaOrganizacija kodakoda
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}}
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 ");");
?>?>
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
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
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
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
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
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
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
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
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,……
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
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
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””););
TolikoToliko za sadaza sada
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
WEB WEB PROGRAMIRANJEPROGRAMIRANJEPHPPHP
PHP 4 PHP 4 -- KrozKroz primereprimere
<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
action="obrada.php"
method="post"
name="gumica"
name="sveska"
name="olovka"
AtributiAtributi tagovatagova bitnibitni zaza PHPPHP
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>
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
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
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>
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););
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;
AritmetiAritmetiččki oki operatoriperatori i operatori poređenja i operatori poređenja
<?<?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 />";/>";?>?>
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 !";!";
}}
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.";}}
<?<?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
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;
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;;
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
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
<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
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>
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;
}}
?>?>
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 ;
}}
?>?>
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 ;;
}}
TolikoToliko zaza sadasada o PHP o PHP --uu
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
UpravljanjeUpravljanje datotekamadatotekama i i direktorijumimadirektorijumima
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
DATOTEKEDATOTEKE
TxtTxtNizoviNizoviSQLSQL
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
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..
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/
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;}}
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)
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()
ČČitanje datotekeitanje datotekePrimerPrimer
BrojaBrojaččiiPrimerPrimer
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
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;}}
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!!””););
ČČ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
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””));;
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); ?>
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
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);?>?>
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!””););
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
Uzimanje informacijaUzimanje informacijaPrimerPrimer
Podrazumeva se datoteka Podrazumeva se datoteka count.dat u tekucount.dat u tekuććem em direktorijumudirektorijumu
Dolazi napočetak datoteke
BrojaBrojačč poseposeććenostienosti
Podrazumeva se datoteka Podrazumeva se datoteka count.dat u tekucount.dat u tekuććem em direktorijumudirektorijumu
PrimerPrimer
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
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 ) ;
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))))
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
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]]””;};}
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
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
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””;};}
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););
?>?>
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
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
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"; } ?> ?>
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"; } ?> ?>
TolikoToliko za sadaza sada
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
PristupPristup MySQLMySQL bazibazi podatakapodatakapomopomoćću PHPu PHP--aa
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
KomunikacijaKomunikacija sasaMySQLMySQL BazomBazom podatakapodataka
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
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
1. 1. PreuzimanjePreuzimanje podatakapodataka izizHTML HTML formularaformulara
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
HTML kodHTML kod
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>
2. 2. PristupPristup MySQLMySQL serveruserverubazebaze podatakapodataka
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””););?>?>
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);
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>");
3. 3. PristupPristup bazibazi podatakapodataka
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””))
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);
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.
Primer veze sa serveromPrimer veze sa serverom
4. 4. DefinisanjeDefinisanje upitaupita
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 );
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()
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
}}
Primer kreiranja tabele kroz upitPrimer kreiranja tabele kroz upit
Uklanjanja nepoUklanjanja nepožželjnih simbolaeljnih simbola
Primer: HTML kod Primer: HTML kod
results.php
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
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););
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;
}}
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 \\\\\\\\
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.
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
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>
6. Prikaz podataka6. Prikaz podataka
Prikaz u formi uređenog tekstaPrikaz u formi uređenog teksta
Prikaz u formi tabelePrikaz u formi tabele
7. Rask7. Raskiid veze sa bazomd veze sa bazom
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);
PrimerPrimer
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
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
WEB WEB PROGRAMIRANJEPROGRAMIRANJEPHPPHP
PrimeriPrimeri
PrimeriPrimeri radarada sasa MySQLMySQL--omom u u XamppXampp--uu
NapravitiNapraviti bazubazu ""proba_bazaproba_baza" i " i tabelutabelu""proba_tabelaproba_tabela" u " u PHPMyAPHPMyAddminmin--uu
12
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
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.");.");?>?>
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.");.");}}?>?>
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());
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!");?>?>
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());
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>") ;>") ;
..........
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>") ;>") ;
}}?>?>
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 >";
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 >";?>?>
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());());
<?<?$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 >";?>?>
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'>";..................
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());
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
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););
}}
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());());}}
VViisokasoka šškola kola strukovnihstrukovnih studijastudija za za informacione i komunikacione tehnologijeinformacione i komunikacione tehnologije
BeogradBeograd
WEB WEB PROGRAMIRANJEPROGRAMIRANJEPHPPHP
PrimeriPrimeri