Professional Documents
Culture Documents
PHP
PHP (Hypertext preprocessor) je programski jezik raširen i popularan pri izradi web stranica.
Izuzetno je jednostavan za učenje, a sa naučenim se postiže mnogo.
Da biste koristili vašu PHP skriptu ili stranicu sa PHP kodom, vaš web server mora podržavati
PHP. Osim nekih besplatnih, većina komercijalnih servera podržava PHP.
Osnove PHP-a
Ako želite umetati PHP kod u vaše HTML stranice i želite da server tj. internet pretraživač
ispravno interpretira vašu stranicu, morate umesto standardne .html ekstenzije koristiti .php
ekstenziju za vaše stranice, npr. umesto index.html treba biti index.php.
Promenljive
Znak $ ispred naziva je obavezan. osetljiva na velika i mala slova npr. $naziv i $Naziv su dve
različite promenljive.
Pravila koja morate poštovati prilikom imenovanja promenljivih su sledeća:
PHP promenljive moraju započinjati sa slovom ili "_" znakom
Na primer:
<?
$prva_promenljiva = $druga_promenljiva +4;
?>
Upoređivanje - operacije
Operacije upoređivanja uvek vraćaju logičku vrednost istina (true) neistina (false)
jednako $x == $y
različito (ne jednako) $x != $y
veće od $x > $y
manje od $x < $y
veće ili jednako $x >= $y
manje ili jednako $x <= $y
Post i pre operatori omogućavaju i određivanje hoće li se operacija dogoditi pre ili posle
izvršenja cele linije koda.
Na primer:
$x++; će se izvršiti nakon izvršenja cele linije koda, dakle ako ispišemo $x++; ispisani rezultat će i
dalje biti $x.
Dok ako ispišemo ++$x; možemo videti da je do sabiranja došlo pre nego što se izvršilo ispisivanje
te će ispisani rezultat biti jednak $x+1
String
Za dodeljivanje vrednosti koristi se znak " ili znak '
Primer:
<?
$moja_pro="Ovde je moj tekst";
$moja_pro='Ovde je moj tekst';
?>
Isto tako moguće je koristiti string bez da se dodeli nekoj promenljivoj direktno u funkciji na
primer:
<?
echo "Ovde je moj tekst";
?>
Razlika u korištenju znaka " umesto znaka ' je da ako koristite ' server neće procesuirati
promenljive unutar njega.
Primer:
<?
$pro=4;
echo'$pro';
echo"<br/>";
echo$pro";?>
Rezultat:
$pro
4
U PHP-u postoji način zvan heredoc koji je stvoren za kreiranje višelinijskih stringova bez upotrebe
navodnika. No sa tim načinom treba postupati oprezno jer su vrlo velike mogućnosti da se na kraju ne dobije
željeni rezultat.
Primer:
$moj_string = <<<HPROBA
Proba višelinijskog stringa
Novi red
Još jedan red
HPROBA;
U ovom primeru identifikator heredoc-a je HPROBA vidljivo je da blok heredoc-a uvek započinje sa
<<<identifikator i završava sa identifikator; Pritom moramo voditi računa da završni identifikator nesme biti
uvućen.
Pažnja: Ako ispišete $moj_string videti ćete da linije koje smo mu dodelili nisu odvojene već će se ispisati:
Proba višelinijskog stringa Novi red Još jedan red
Ako smo želeli razdvajati redove mogli smo upotrebiti \n znak na kraju reda.
Stropos funkcija
Strpos funkcija služi za određivanje pozicije prvog trazenog znaka trazenog stringa unutar
stringa.
Budući da strpos uvek vrati ili prvi pronađeni string ili false (ako ne pronađe traženi) treći
argument je opcija koja služi da bismo pronašli sledeći trazeni_string unutar moj_string
Povratna pozicija je uvek za jedan manja jer strpos broji od 0.
Primer:
<?
$moj_string = "ABCDEFGHIJKLMNOPRSTUVZXYPRGTG";
$pozicija = strpos($moj_string,"P");
echo"Pozicija znaka P u mom stringu je $pozicija";
?>
Rezultira sa:
Pozicija znaka P u mom stringu je 15
str_replace funkcija
str_replace funkcija služi za zamenu određenog stringa unutar stringa. Najsličniji primer toj
funkciji je Replace all funkcija u Wordu na primer. Argumenti str_replace funkcije
str_replace(trazeni_string, zameni_stringom, originalni_string).
Primer:
<?
$moj_string="Bio jednom jedan pas";
$string_rezultat=str_replace("pas","mačak",$moj_string);
echo $string_rezultat;
?>
Rezultat:
Bio jednom jedan mačak
substr_replace funkcija
funkcija za razliku od str_replace bazira se na poziciji u stringu.
Echo funkcija uz print funkciju u PHP-u služi kako bi se dobio print (na ekran) vrednosti.
Primer:
<?
$moj_tekst="Ovo je moj tekst";
echo $moj_tekst;
echo "Ovo je moj tekst";
?>
Kroz php echo možemo vršiti izlaz i HTML koda, no moramo voditi računa o sledećem:
Ne smemo koristiti " unutar echo-a jer on navodnike koristi kako bi označio početak ili kraj ispisa.
Ako hoćemo ispisati " moramo ga pisati zajedno sa \ ili koristiti umesto " znak ' unutar navodnika.
Print funkcija
Identična funkcija i upotrebljava kao i Echo funkcija
Print_r funkcija
Upotrebljava se za print nizova (Array-a)
PHP petlje
While uklješteni kod dok god je zadani uslov zadovoljen
Primer:
<?
$brojac = 1;
while ( $brojac <= 3 ) {
echo $brojac." ";
$brojac = $brojac+1;}
?>
Jedina razlika između do-while petlje i while petlje je u tome da se do while uvek izvrši bar
jedanput jer proverava uslov nakon izvršenja.
Primer:
<?
do {kod koji se ponavlja - izvršava se jednom bez obzira na uslov}
while (uslov);
?>
For petlja se razlikuje od while petlje samo po tome što dopušta definiranje i inicijalizaciju
brojača u jednoj liniji
Primer:
<?
for ($brojac = 1;$brojac<=3;$brojac++){
echo $brojac." ";}
?>
For each petlja za svaki element niza izvršava kod.
Primer:
<?
$dan_datum[“subota"] = "1.1.2022.";
$dan_datum[“nedelja"] = "2.1.2022.";
$dan_datum[“ponedeljak"] = "3.1.2022.";
foreach($dan_datum as $dan => $datum){
echo $datum." je ".$dan."<br />";}
?>
Ispis:
1.1.2022. je subota
2.1.2022. je nedelja
3.1.2022. je ponedeljak
PHP mogućnosti uslovnog izvršavanja koda
If naredbu koristimo kako bismo uslovili izvršenje određenog dela koda nekim uslovom
Primer:
<?
$i=1;
if ($i==1){echo "Uslov je zadovoljen";}
if ($i==2){echo "Uslov nije zadovoljen";}
?>
if/else samo proširava if naredbu, a koristimo je kako bismo uslovili izvršenje određenog dela
koda nekim uslovom i izvršenje drugog koda u slučaju ne zadovoljavanja uslova.
Primer:
<?
$i=2;
if ($i==1){echo "Uslov je zadovoljen";}
else {echo "Uslov nije zadovoljen";}
?>
Switch radi na način da proverava jednu promenljivu sa više različitih slučajeva vrednosti koje definišemo.
<?
$i=2;
switch($i){
case 1:
echo "i=1";
break;
case 2:
echo "i=2";
break;
default:
echo "i nije među definisanim";
break;
}
?>
Funkcije
Funkcija nije ništa drugo nego naziv koji dajemo određenom bloku koda, sa namerom da ga
upotrebimo više puta.
Primer funkcije sa argumentom:
<?
function moja_prva_funkcija($argument){
echo "Ja sam napisao svoju prvu funkciju sa ".$argument;
}
echo "Tu je deo koda pre upotrebe funkcije....";
moja_prva_funkcija("argumentom");
echo "..........Tu je deo koda posle upotrebe funkcije....";
moja_prva_funkcija("drugim argumentom");
echo "..........Tu je deo koda posle ponovne upotrebe funkcije....";
?>
Klase
Klasa je kolekcija funkcija i promenljivih, odnosno klase definišu objekat kao predlog za stvarne
promenljive.
Da bi smo koristili klase, potrebno je kreirati instancu objekta koristiteći operator new.
Primer:
<?
$niz_za_primjer_brojcani_index[0]=„Miloš";
$niz_za_primjer_brojcani_index[1]=„Dejan";
$niz_za_primjer_brojcani_index[2]=„Ivica";
$niz_za_primjer_znakovni_index[„Dejan"]="Prvi";
$niz_za_primjer_znakovni_index[„Ivica"]="Drugi";
?>
PHP spajanje na MySQL
Preduslov za spajanje je naravno taj da pre toga morate imati kreiranu bazu u MySQL-u
Primer spajanja:
<?
mysql_connect("vas_server", "korisnicko_ime", "lozinka") or
die("Neuspela konekcija") ;
mysql_select_db("naziv_vase_baze") or die("Neuspelo
otvaranje baze");
/*.....ovdje dolazi upit na bazu.....*/
mysql_close();
?>
Ukoliko je baza na vašem serveru za hostname možete koristiti localhost.
Korisničko ime i lozinka su korisničko ime i lozinka za mysql bazu koje ste kreirali prilikom
kreiranja baze.
Nakon što ste se spojili na bazu i izvršili sve što ste želeli (preuzeli podatke, pohranili podatke...)
potrebno je konekciju zatvoriti sa mysql_close();
Dohvat podataka iz MySQL baze
Dohvat informacija kao i pohranjivanje informacija i sve ostalo vrši se upitima (query) na bazu.
Primer:
Za ovaj primer koristiti ćemo imaginarne podatke
web server:"moj_posluzitelj",mysqlbaza="moja_baza"
korisnik="korisnik" i lozinka="lozinka„