You are on page 1of 18

Primena PHP u WEB projektovanju

Slobodan Radojević

Mašinstvo i Informacione tehnologije


Mašinski fakultet
Univerzitet u Beogradu
Beograd 2008. godine
Dr Slobodan Radojević, docent

Osnove PHP-a
I izdanje

Recenzenti:
Dr M.M. , zvanje
Dr N.N. , zvanje

Izdavač:
Mašinski fakultet, Univerzitet u Beogradu
Kraljice Marije 16, 11120 Beograd 35, Srbija

Štampanje odobrila
Komisija za izdavačku delatnost Mašinskog fakulteta

Urednik
Dr Aleksandar Obradović, vanredni profesor

Tehnički urednik
N.N.

Tiraž
500 primeraka

Štampa
Zavod za grafičku tehniku
Tehnološko-metalurški fakultet
Karnedžijeva 4, 11120 Beograd

YU ISBN 99-9999-999-9
Sadržaj

1 Osnovno o PHP-u 7
1.1 Najkraća uvodna priča . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Kako do dobre upotrebe PHP-a? . . . . . . . . . . . . . . . . . . 8
1.3 Šta Vam treba za PHP-a? . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Sintaksa PHP-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.1 Osnovna sintaksa PHP-a . . . . . . . . . . . . . . . . . . 10
1.4.2 Komentari u PHP-u . . . . . . . . . . . . . . . . . . . . . 11
1.5 Promenljive u PHP-u . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.1 Deklarisanje - uvodenje promenljivih . . . . . . . . . . . . 12
1.5.2 PHP je slabo tipiziran jezik . . . . . . . . . . . . . . . . . 12
1.5.3 Pravila za dodelu imena promenljivama u PHP-u . . . . . 13
1.6 O stringovima - niskama . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.1 Stringovi u PHP-u . . . . . . . . . . . . . . . . . . . . . . 13
1.6.2 Funkcija strlen() . . . . . . . . . . . . . . . . . . . . . . . 14
1.6.3 Funkcija strpos() . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7.1 Aritmetički operatori . . . . . . . . . . . . . . . . . . . . . 15
1.7.2 Operatori dodeljivanja . . . . . . . . . . . . . . . . . . . . 15
1.7.3 Operatori poredenja . . . . . . . . . . . . . . . . . . . . . 15
1.7.4 Logički operatori . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 Upravljanje toka izvršavanja naredbi . . . . . . . . . . . . . . . . 16
1.8.1 If...else; naredba . . . . . . . . . . . . . . . . . . . . . . . 16
1.8.2 If...elseif; naredba . . . . . . . . . . . . . . . . . . . . . . . 17
1.8.3 Switch...; naredba . . . . . . . . . . . . . . . . . . . . . . 18
4 SADRŽAJ
Predgovor

Nadamo se da će ova knjiga pomoći i ostalim studentima u pripremi odgo-


varajućih ispita.

Beograd, 15. 10. 2008. Autori


Glava 1

Osnovno o PHP-u

1.1 Najkraća uvodna priča


PHP je akronim od:

Personal Home Page

i predstavlja ime serverskog skript jezika kojim je moguće kreirati dinamičke i


interaktivne web stranice.
PHP je rasprostranjen, slobodan programski jezik koji je i efikasna je opozicija
drugim tehnologijama. Prihvaćen je od profesionalca jer su ga oni i konstruisali
prema sopstvenim zahtevima:

• da se može direktno unetipovezatigenerisati sa HTML kodom;

• da je sličan nekom programskom jeziku1 ;

2
• da je dobro povezan sa web serverima;

• da je otvoren prema novim mogućim tehnologijama 3 .


1 C-u, ili Perl-u
2 Na primer, sa Apache web serverom, odnosno sa web serverima koji su relativno nezavisni
od operativnog sistema i hardvera
3 ISAPI-Internet Server Application Program Interface, IIS-Internet Information Services
8 Osnovno o PHP-u

1.2 Kako do dobre upotrebe PHP-a?


Moramo ga dobro shvatiti. Preciznije, moramo dobro znati na kojim principima
je zasnovan i zašto je tako napravljen. Neformalno skript možemo definisati
kao4 :

skup naredbi kojima se automatizuju neki (mogući) postupci u


formiranju web strane.

A da bi ga dobro koristili i upotrebili moramo imati osnovno znanje o HTML


odnosno o XHTML-u. Takode moramo znati da je:

• PHP hipertekst predprocesor;

• PHP je server orijentisan skript jezik;

• PHP se izvršava na serveru;

• PHP podržava veliki broj baza podataka;

• PHP je program tipa Open Source Software;

• PHP je besplatan za korišćenje.

takode:

• PHP fajl može sadržati tekst, HTML tagove i skriptove drugih jezika;

• PHP fajl se browseru vraća kao običan HTML;

• PHP fajl ima ekstenziju ”.php”, ”.php3”ili ”.phtml”.

PHP se direktno vezuje za MySQL jer je:

• MySQL server za baze podataka;

• MySQL podjednako upotrebljiv i za male i velike aplikacije i projekte;

• MySQL podržava SQL;

• MySQL je relativno nezavisan od operativnog sistema i hardvera;

• MySQL je besplatan za korišćenje.


4 Srbi bi rekli zapis, ali prevod nije odgovarajući.
1.3 Šta Vam treba za PHP-a? 9

i PHP+MySQL predstavlja dobar izbor:


• jer ste u razvoju nezavisni od operativnog sistema, što znači da možete
sve razvijati u Windows-u a izvršavati na Linux-u,...
• jer ste u eksploataciji nezavisni od operativnog sistema i hardvera
i konačno to je sjajan izbor jer:
• ste potpuno slobodni !;
• niko ne uzima Vaš novac za nešto što možda radi;
• ono što ste napravili dobro radi, a to je preduslov za zaradu;
• nikome ne plaćate razvoj;
• ste zaštićeni pripadnik velike porodice umetnika koji se zajednički nazi-
vanju programeri.

1.3 Šta Vam treba za PHP-a?


Dobra volja, i odbacivanje i pomisli na dva čuvena srpska pitanja kada se radi
o umotvorinama:
Šta će mi to?
Čemu to slži?
Zasta Vam je potrebna dobra volja, jer ako imate pristup nekom pristojnom
(čitaj Apač serveru), tada uživajte, jer nemate nikakvih problema za rad. Ne
zaboravite:
Vi ste elita i pripadate MIT-u i imate sve servise koji su serveri, a svakako
Apača i MySQL na 147.91.27.153
u suprotnom posetite sledeće web lokacije:
• http://www.php.net/downloads.php
• http://www.mysql.com/downloads/index.html
• http://httpd.apache.org/download.cgi
Kako pripadate eliti, pogledajte za način pristupa Vašem serveru, šifre i po-
tražite direktorijum gde je smešten Apač i Vaš direktorijum.
10 Osnovno o PHP-u

1.4 Sintaksa PHP-a


Pre upoznavanja sa sintaksom važno je znati da se PHP kod ne može videti
izborom ”View source”u bilo kom browser-u jer svaki prikazuje HTML. Razlog
je, to ne treba zaboraviti, jer se PHP skript izvršava na serveru pre nego što on
odgovori browser-u.

1.4.1 Osnovna sintaksa PHP-a


Svaki PHP skript je organizovan u bloku i uvek počinje sa:

<?php

a završava se sa:

?>

i važno je uočiti da se može smestiti bilo gde u dokumentu. Ukoliko ste na


serveru koji direktno podržava PHP možete koristiti i:

<?

za početak odnosno:

?>

za kraj5 . Ipak se preporučuje, a da bi se očuvala maksimalna kompatibilnost,


koristiti:

<?php

?>

PHP fajl uobičajeno sadrži HTML tagove, kao uobičajeni HTML fajl. Sledi
primer jednostavnog PHP skripta koji šalje tekst:

Zdravo elito sa MIT-a!

browser-u:
5 Ne zaboravite da gubite mogućnost izvršavanja skriptova na drugim platformama
1.4 Sintaksa PHP-a 11

<html>
<body>
<?php
echo "Zdravo elito sa MIT-a!";
?>
</body>
</html>

odakle je uočljivo da se svaka linija koda u PHP mora završiti sa ”;”, što
omogućava odvajanje pojedinačnih instrukcija. Upoznali smo i jednu od dve
osnovne naredbe za prikazivanje teksta u PHP-u. To je:

echo

dok postoji i:

print

Preporuka:

• Potražite na svom serveru primer001.php

• Ukoliko fajl ima ekstenziju .html ili .htm skript neće biti izvršen.

1.4.2 Komentari u PHP-u


Koristimo // da bi jednu liniju iskomentarisali ili /* i /* da bi iskomentarisali
blok naredbi. Na primer:

<html>
<body>
<?php
echo "Ja imam u nastavku komentar !"; //komentar
/* print
I ja sam komentar.
*/
?>
</body>
</html>
12 Osnovno o PHP-u

1.5 Promenljive u PHP-u


Ukoliko želite da više puta u PHP skriptu iskoristite neku vrednost, ili želite da
nešto izračunate iskoristite promenljive.

1.5.1 Deklarisanje - uvodenje promenljivih


Pretpostavite da Vam je potrebno neku vrednost, na primer niz simbola, niz
brojeva, rezultat rada neke funkcije da sačuvate i iskoristite više puta u PHP
skriptu. Vrednost se čuva u promenljivoj, koja Vam je tokom celog skripta
uvek dostupna. Svaka promenljiva u PHP-u počinje sa $, dok joj se vrednost
dodeljuje naredbom:

$ime_promenljive = vrednost;

Početnici u PHP-u najčešće zaborave $ što za posledicu ima nepredvidiv rad


skripta. Primer koji sledi pokazuje kako se dodeljuje vrednost dvema promenlji-
vama, kao i način da se one odštampaju:

<html>
<body>
<?php
$tekst = "Ja sam funkcija exp(x) !";
$broj = 100;
echo $tekst;
echo $broj;
?>
</body>
</html>

1.5.2 PHP je slabo tipiziran jezik


PHP ne zahteva strogo deklarisanje promenljivih pre dodele neke vrednosti.
Prethodni primer je dobra ilustracija za ovu činjenicu, jer ni jednoj promenljivoj
nismo dodelili tip vrednosti koja bi odredila njen domena. PHP u toku izvrša-
vanja koriguje tip promenljive u zavisnosti od trenutne vrednosti koja joj se
dodeljuje.
Na primer, u programskom jeziku C smo obavezni da promenljivoj dodelimo tip
na samom početku rada programa:
1.6 O stringovima - niskama 13

main()
{
int broj = 0;
.
.
.
}

dok nam dobra praksa u programiranju nalaže da se sve promenljive na početku


deklarišu. Sve to nije potrebno raditi u PHP-u. Sam PHP u zavisnosti od pojave
promenljive preuzima dodelu tipa i same vrednosti promenljivoj.

1.5.3 Pravila za dodelu imena promenljivama u PHP-u


• Ime promenljive mora početi sa slovom ili sa ;

• Ime promenljive isključivo sadrži slova i brojeve kao i ;

• Ime promenljive ne sme da sadrži praznine. Ako je ime proemnljive sas-


tavljeno od više reči one rastavljaju sa , na primer ja sam promenljiva ili
se koriste velika slova JaSamPromenljiva.

1.6 O stringovima - niskama


Promenljiva koja se naziva string dobija vrednost koja predstavlja delić nekog
teksta.

1.6.1 Stringovi u PHP-u


String promenljive koristimo za vrednosti koje sadrže neke karaktere. Ne ulazeći
u način formiranja vrednosti stringa u PHP-u, pokazaćemo funkcije koje omogu-
ćavaju njene različite obrade.
Jednostavnosti radi, pretpostavimo da je moguć izvršiti sledeći PHP skript:

<?php
$tekst="Zdravo svi sa MIT-a.";
echo $tekst;
?>

koji ima poznat rezultat izvršavanja.


14 Osnovno o PHP-u

Zdravo svi sa MIT-a.

U PHP-u postoji jedan jedini operator stringova (.) koji predstavlja spajanje -
konkatenaciju dva stringa. Primer:

<?php
$txt1="Zdravo svi sa MIT-a.";
$txt2="Svi zdravi i rumeni bili.";
echo $txt1 . " " . $txt2;
?>

a navedeni string za rezultat daje:

Zdravo svi sa MIT-a. Svi zdravi i rumeni bili.

1.6.2 Funkcija strlen()


Poslužiće nam da pronademo dužinu niske. Na primer:

<?php
$txt="Zdravo svi sa MIT-a.";
$duzina=strlen($txt);
echo $duzina;
?>

Navedeni skript kao rezultat izvršavanja vratiće broj 20. Ovu funkciju koristi-
mo u raličitim ciklusima kojima ponavljamo pozivanje funkcija koje menjaju
string.

1.6.3 Funkcija strpos()


Poslužiće nam da nademo pojavljivanje podstringa u datom stringu. Na primer:

<?php
$txt="Zdravo svi sa MIT-a.";
$tu_si=strpos($txt,"MIT");
echo $tu_si;
?>

kao rezultat izvršavanja vratiće broj 14. Ukoliko ne pronade podstring rezultat
koji vraća je FALSE.
1.7 Operatori 15

1.7 Operatori
U tabelama koje slede dati su operatori po tipovima vrednosti nad kojima su
definisani sa odgovarajućim primerima.

1.7.1 Aritmetički operatori


Operator Opis Primer Rezultat
+ sabiranje za x = 2 i x + 2 4
− oduzimanje za x = 2 i 5 − x 3
∗ množenje za x = 4 i x ∗ 5 20
/ deljenje za 15/5 i 5/2 3 i 2.5
% po modulu za 5%2 i 10%8 1i2
++ inkrementacija za x = 5 i x + + x=6
−− dekrementacija za x = 5 i x − − x=4

1.7.2 Operatori dodeljivanja


Operator Primer Isto je kao
= x=y x=y
+= x+=y x=x+y
−= x-=y x=x−y
∗= x*=y x=x∗y
/= x/=y x = x/y
.= x.=y x = x.y
%= x%=y x = x%y

1.7.3 Operatori poredenja


Operator Opis Primer
== jednako je 5 == 8 vraća FALSE
!= različito 5! = 8 vraća TRUE
> veće od 5 > 8 vraća FALSE
< manje od 5 < 8 vraća TRUE
>= veće ili jednako 5 >= 8 vraća FALSE
<= manje ili jednako 5 <= 8 vraća TRUE
16 Osnovno o PHP-u

1.7.4 Logički operatori


Operator Opis Primer
&& i (6 < 10&&3 > 1) vraća TRUE
|| ili (6 < 10||3 > 1) vraća TRUE
! ne !(6 < 10) vraća FALSE

1.8 Upravljanje toka izvršavanja naredbi


Naredba if se u PHP koristi za pripremu posebnih HTML strana u zavisnosti
od sitacije.

1.8.1 If...else; naredba


Jednostavno je funkcinisanje naredbe if . Izmedu if...else se nalaze komande
koje se izvršavaju ako je uslov koji ispituje if tačan inače se izvršavaju komande
izmedu else...;. Preciznije:
if (uslov)
izvrsava se ako je uslov tacan;
else
izvrsava se ako uslov nije tacan;
Sledeći primer pokazuje uobičajenu upotrebu if naredbe. Ukoliko je petak
potrebno je dati izlaz ”Želim Vam prijatan predstojeći vikend !”, a ako je
uobičajeni radni dan ”Želim Vam dobar dan !”.
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Zelim Vam prijatan vikend !";
else
echo "Zelim Vam dobar dan !";
?>
</body>
</html>
Ukoliko imamo viš komandi koje se moraju izvršiti tada se izmedu zagrada
formira blok naredbi:
1.8 Upravljanje toka izvršavanja naredbi 17

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
{
echo "Zdravo !<br />";
echo "Zelim Vam prijatan vikend !";
echo "Vidimo se u ponedeljak !";
}
?>
</body>
</html>

1.8.2 If...elseif; naredba


Izvršava se pod dubini tačnosti. Sintaksa je jednostavna:

if (uslov1)
izvrsava se ako je uslov1 tacan;
elseif (uslov2)
izvrsava se ako je uslov2 tacan;
else
izvrsava se ako ni jedan od uslova nije tacan;

Iz sledećeg primera je najjednostavnije zaključiti način izvršavanja komandi:

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Zelim Vam prijatan vikend !";
elseif ($d=="Sun")
echo "Uzivajte u nedelji !"
else
echo "Zelim Vam dobar dan !";
?>
</body>
</html>
18 Osnovno o PHP-u

1.8.3 Switch...; naredba


Naredba switch se u PHP koristi za upravljanje tokom programa na više grana
programa u zavisnosti od više vrednosti jedne promenljive. Naravno da se up-
ravljanje može preneti na blok naredbi. Sintaksa je oblika:
switch (izraz)
{
case vrednost1:
izvrsavam se ako je izraz = vrednost1;
break;
case vrednost2:
izvrsavam se ako je izraz = vrednost2;
break;
default:
izvrsavam se ako izraz nije ni vrednost1 ni vrednost2;
}
Primer koji ćse ilustrovati primenu je još jednostavniji:
<html>
<body>
<?php
switch ($x)
{
case 1:
echo "Ja sam 1";
break;
case 2:
echo "Ja sam 2";
break;
case 3:
echo "Ja sam 3";
break;
default:
echo "Nisam broj izmedju 1 i 3";
}
?>
</body>
</html>

You might also like