PHP-prezentacija

Report
• 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)
<?php
/*.....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. Imena varijabli su
osjetljiva na velika i mala slova npr. $naziv i $Naziv su
dvije različite varijable.
• 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"<br />";
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 = <<<HPROBA
Proba višelinijskog stringa
Novi red
Još jedan red
HPROBA;
• U ovom primjeru identifikator heredoc-a je HPROBA vidljivo je da blok
heredoc-a uvijek započinje s <<<identifikator i završava s identifikator;
Pritom moramo voditi računa da završni identifikator nesmije biti uvućen.
• 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."<br />";
}
?>
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]. "<br /> ";
}
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!

similar documents