PHP-prezentacija

Download Report

Transcript PHP-prezentacija

• PHP (Hypertext preprocessor) je programski jezik raširen i popularan pri izradi web stranica. Izuzetno je jednostavan za učenje, a s 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.

• PHP kod mora biti unutar ključnih riječi (tagova)

/*.....Ovdje dolazi kod....*/ ?> Ili skraćeno

/*.....Ovdje dolazi kod....*/ ?> - Svaka kodna naredba, definicija varijable mora se zaključiti sa ;

• Ako želite umetati PHP kod u vaše HTML stranice i želite da server tj. internet preglednik ispravno interpretira vašu stranicu, morate umijesto standardne .html extenzije koristiti .php extenziju za vaše stranice npr. umijesto index.html treba biti index.php

• Varijabla služi za privremeno pohranjivanje određene vrijednosti (broja, teksta...), vrijednost pohranjena u varijabli se nakon toga može koristiti više puta kroz cijeli kod.

• Varijable se definiraju na slijedeći način: $naziv_varijable = vrijednost; • Znak $ ispred naziva je obavezan. osjetljiva na velika i mala slova npr. $naziv i $Naziv su dvije različite varijable.

I mena varijabli su

• • • • Pravila koja morate poštivati prilikom imenovanja varijabli su slijedeći: PHP varijable moraju započinjati s slovom ili "_" znakom.

U imenu mogu imati samo znakove a-z, A-Z, 0-9, ili _ Varijable s više od jedne riječi u nazivu radi preglednosti treba razdvajati s _.

Npr $moja_varijabla Isto tako ih je u redu razdvajati koristeći velika ili mala slova. Npr $mojaVarijabla

• U svakom programskom jeziku postoje razni operatori kojima se vrši manipulacija, matematičke operacije ili usporedba vrijednosti • Za dodjeljivanje vrijednosti koristi se "=" • Primjer.

$moja_var = 2; $druga_var = $moja_var; ?> • ¸Ovim primjerom varijabli moja_var smo dodjelili vrijednost 2, a u drugoj liniji smo varijabli druga_var dodjelili vrijednost moja_var.

Tj nakon ove dvije linije koda obije varijable imati će vrijednost 2

• "+" zbrajanje "-" oduzimanje "*" množenje "/" djeljenje "%" ostatak djeljenja.

• Npr.

$prva_varijable = $druga_varijabla +4; ?>

• Operacije uspoređivanja uvijek vraćaju logičku vrijednost 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 prije ili poslije izvršenja cijele linije koda • npr. $x++; će se izvršiti nakon izvršenja cijele linije koda dakle ako ispišemo $x++; ispisani rezultat će i dalje biti $x.

• Dok ako ispišemo ++$x; možemo vidjeti da je do zbrajanja došlo prije nego što se izvršilo ispisivanje te će ispisani rezultat biti jednak $x+1

• • Za dodjeljivanje vrijednosti koristi se znak " ili znak ' Primjer.

$moja_var = "Ovdje je moj tekst"; $moja_var = 'Ovdje je moj tekst'; ?> Isto tako moguće je koristiti string bez da ga se dodjeli nekoj varijabli direktno u funkciji npr.

echo "Ovdje je moj tekst"; ?>

• • Razlika u korištenju znaka " umijesto znaka ' je da ako koristite ' server neće procesirati varijable unutar njega.

Primjer

$var=4; echo '$var'; echo"
"; echo "$var";?> Rezultat: $var 4

• • U PHP-u postoji način zvan heredoc koji je stvoren za kreiranje višelinijskih stringova bez upotrebe navodnika. No s tim načinom treba postupati oprezno jer su vrlo velike mogućnosti da se u konačnici ne dobije željeni rezultat Primjer: $moj_string = <<

• Pažnja: Ako ispišete $moj_string vidjeti ćete da linije koje smo mu dodijelili nisu odvojene već će se ispisati:

Proba višelinijskog stringa Novi red Još jedan red

• Ako smo željeli razdvajati redove mogli smo upotrijebiti \n znak na kraju reda.

• strpos funkcija služi za određivanje pozicije prvog trazenog znaka trazenog string unutar stringa Argumenti strpos funkcije su: strpos($moj_string, "traženi_string"); ili strpos($moj_string, "traženi_znak", početna_pozicija); • • Budući da strpos uvijek 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 slijedeći trazeni_string unutar moj_string Povratna pozicija je uvijek za jedan manja jer strpos broji od 0

• Primjer:

$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 služi za zamjenu određenog stringa unutar stringa. Najsličniji primjer toj funkciji je Replace all funkcija u wordu na primjer.

Argumenti str_replace funkcije str_replace(trazeni_string, zamjeni_stringom, originalni_string).

Primjer:

$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 za razliku od str_replace bazira se na poziciji u stringu.

• Argumenti substr_replace funkcije substr_replace(orginalni_string, zamjeni_stringom, od pozicije); ili substr_replace(orginalni_string, zamjeni_stringom, od pozicije, koliko_znakova_zelimo_zamijeniti); Ukoliko kao argument koliko_znakova_zelimo_zamijeniti stavimo 0 funkcija će umijesto zamjene izvršiti ubacivanje stringa na danoj poziciji.

Primjer:

$moj_string = "Bio jednom jedan pas "; $string_rezultat= substr_replace($moj_string,"vuk",17); echo $string_rezultat; ?> Rezultat:

Bio jednom jedan vuk

• Echo funkcija uz print funkciju u PHPu služi kako bi se dobio ispis (na ekran) vrijednosti.

Primjer:

$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 slijedećem: " Ne smijemo koristiti " unutar echo-a jer on navodnike koristi kako bi označio početak ili kraj ispisa. Ako hoćemo ispisati moramo ga pisati skupa s \ ili koristiti umijesto " znak ' unutar navodnika.

Print funkcija

Identična funkcija i upotreba kao i Echo funkcija

Print_r funkcija

Upotrebljava se za ispis nizova (Array-a)

• While ponavlja uklješteni kod dok got je zadani uvijet zadovoljen Primjer:

$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 uvijek izvrši bar jedanput jer provjerava uvijet nakon izvršenja.

Primjer:

do { kod koji se ponavlja - izvršava se jednom bez obzira na uvjet } while (uvjet); ?>

• For petlja se razlikuje od while petlje samo po tome što dopušta definiranje i inicijalizaciju brojača u jednoj liniji Primjer:

for($brojac = 1;$brojac<=3;$brojac++){ } echo $brojac." "; ?>

• For each petlja za svaki element niza izvršava kod.

Primjer:

$dan_datum["Ponedjeljak"] = "1.1.2007"; $dan_datum["Utorak"] = "2.1.2007"; $dan_datum["Srijeda"] = "3.1.2007"; foreach($dan_datum as $dan => $datum){ echo $datum." je ".$dan."
"; } ?> Ispis: 1.1.2007 je Ponedjeljak 2.1.2007 je Utorak 3.1.2007 je Srijeda

• If naredbu koristimo kako bismo uvjetovali izvršenje određenog dijela koda nekim uvjetom Primjer:

$i=1; if ($i==1){ echo "Uvjet je zadovoljen"; } if ($i==2){ echo "Uvjet nije zadovoljen"; } ?>

• if/else samo proširava if naredbu, a koristimo je kako bismo uvjetovali izvršenje određenog dijela koda nekim uvjetom i izvršenje drugog koda u slučaju ne zadovoljavanja uvijeta.

Primjer:

$i=2; if ($i==1){ echo "Uvjet je zadovoljen"; } else { } echo "Uvjet nije zadovoljen"; ?>

• Switch radi na način da provjerava jednu varijablu s više različitih slučajeva vrijednosti koje definiramo.

$i=2; switch($i){ case 1: echo "i=1"; break; case 2: echo "i=2"; break; default: echo "i nije među definiranim"; break; } ?>

• Funkcija nije ništa drugo nego naziv koji dajemo određenom bloku koda, s namjerom da ga upotrijebimo više puta.

Primjer funkcije s argumentom:

function moja_prva_funkcija($argument){ echo "Ja sam napisao svoju prvu funkciju s ".$argument; } echo "Tu je dio koda prije upotrebe funkcije...."; moja_prva_funkcija("argumentom"); echo "..........Tu je dio koda poslije upotrebe funkcije...."; moja_prva_funkcija("drugim argumentom"); echo "..........Tu je dio koda poslije ponovnog upotrebe funkcije...."; ?>

• Klasa je kolekcija funkcija i varijabli, odnosno klase definiraju objekt kao predložak za stvarne varijable.

• Da bi smo koristili klase, potrebno je kreirati instancu objekta koristiteći operator new.

• Klasa se sastoji od atributa (svojstva) i metoda (radnje)

Sintaksa klase je:

class naziv_klase{ function naziv_klase() /*konstruktorska funkcija ima isto ime kao klasa*/ { } var $varijabla; /*varijable*/ function moja_funkcija(){} /*jedna ili više funkcija*/ } ?>

• • Niz (array) je podatkovna struktura koja omogućava pohranjivanje više vrijednosti u jednu.

Index može biti brojčani ili znakovni.

Primjer:

$niz_za_primjer_brojcani_index[0]="Primjerko"; $niz_za_primjer_brojcani_index[1]="Fran"; $niz_za_primjer_brojcani_index[2]="Lovro"; $niz_za_primjer_znakovni_index["Fran"]="Prvi"; $niz_za_primjer_znakovni_index["Lovro"]="Drugi"; ?>

• Preduvijet za spajanje je naravno taj da prije toga morate imati kreiranu bazu u Mysql-u Primjer spajanja:

mysql_connect("vas_server", "korisnicko_ime", "lozinka") or die("Neuspjela konekcija") ; mysql_select_db("naziv_vase_baze") or die("Neuspjelo 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 željeli (preuzeli podatke, pohranili podatke...) potrebno je konekciju zatvoriti s mysql_close();

• Da bismo podatke iz baze ispisali moramo ih na neki način dohvatiti.

• Dohvat informacija kao i pohranjivanje informacija i sve ostalo vrši se upitima (query) na bazu.

Primjer: Za ovaj primjer koristiti ćemo imaginarne podatke web server:"moj_posluzitelj", mysqlbaza="moja_baza" korisnik="korisnik" i lozinka="lozinka" Pretpostavimo isto tako da imamo kreiranu tablicu na mysqlu "moji_podaci" koja u sebi ima podatke ime i prezime Pohranjeni podaci u tablici su: Prvi zapis: ime Primjerko prezime Primjerić Drugi zapis: ime Robert prezime Gruber

mysql_connect("moj_posluzitelj", "korisnik", "lozinka") or die("Neuspjela konekcija"); mysql_select_db("moja_baza") or die("Neuspjelo otvaranje baze"); /*Da bismo dohvatili podatke koristimo slijedeći sql upit*/ $rezultat = mysql_query("SELECT * FROM `moji_podaci`") or die("Neuspjelo"); /*Da bismo rezultat upita pohranili u varijablu koristimo slijedeće*/ $podaci = mysql_fetch_array( $rezultat )) /*na ovaj način pohranili smo iz $rezultat samo prvi zapis*/ /*Kako bismo pohranili i ispisali sve podatke iz tablice moji_podaci upotrijebit ćemo petlju*/ while($podaci = mysql_fetch_array( $rezultat )) { echo "Ime: ".$podaci['ime'] . " Prezime: ".$podaci['prezime]. "
"; } mysql_close(); ?>

Primjer: Koristimo istu tablicu kao u prošlom primjeru.

mysql_connect("moj_posluzitelj", "korisnik", "lozinka") or die("Neuspjela konekcija"); mysql_select_db("moja_baza") or die("Neuspjelo otvaranje baze"); /*Ubacit ćemo slijedeći podatak ime:Robert, prezime: Gruber */ $ime="Robert"; $prezime="Gruber"; mysql_query("INSERT INTO `moji_podaci` (`ime`, `prezime`) VALUES ('$ime', '$prezime');"); mysql_close(); ?>

To bi bilo to. Hvala na pažnji!