Tukaj bom prikazal, kako uporabiti PHP.
PHP (PHP Hypertext Preprocessor) je razširjen odprtokodni programski jezik, ki se uporablja za strežniške uporabe oziroma za razvoj dinamičnih spletnih vsebin. PHP primarno teče na spletnem strežniku, kjer jemlje PHP izvorno kodo za vhod in generira spletno stran kot izhod. Kot del PHP-ja sta tudi možnost zaganjanja skript v ukaznem načinu in kreiranje grafičnih aplikacij.
Izvorne kode v brskalniku ne vidimo. Izpiše se kot koda HTML.
Če vpišemo:<?php
se bo v izvorni kodi v brskalniku pokazalo: Hello World!
echo 'Hello World!';
?>
Vsaka PHP stran ima končnico .php, včasih tudi druge odvisno od nastavitev strežnika.
PHP kodo je potrebno zaganjati na strežniku z nameščeno PHP podporo.
Vsaka PHP stran ima končnico .php. PHP kodo lahko vključimo v HTML. Pred začetkom PHP kode moramo dodati znak: <?php, pred koncem pa: ?>.
Ukazi se ločijo s podpičjem (;). V PHP-ju poznamo enovrstične komentarje (//) in večvrstične komentarje (/* in */). Č je spremenljivka $a in napišemo echo 'hey $a' se bo izpisalo točno tako če pa uporabimo " se bo izpisala vrednost spremenljivke.
Za izpisovanje se v PHP-ju uporabljata ukaza print in echo.
Odprite urejevalnik besedil in vanj vpišite:<?php
Datoteko shranite kot hello-world.php in jo prek FTP programa prenesite na strežnik. V brskalniku odprite stran, ki ste jo naredili. Pisalo bo Hello World. Sedaj si poglejte izvorno kodo v brskalniku. Izgledalo bo kot navadna HTML koda. PHP izvorne kode se v brskalniku ne vidi.
echo 'Hello World!';
?>
PHP pozna tudi osnovne matematične operatorje kot so + - / *Poglejmo si primer:
<?phpecho '5+5 je enako ';echo 5 + 5;echo ' 5*5 je enako ';echo 5 * 5;?>
Izpisalo se bo: 5+5 je enako 10 5*5 je enako 25Sedaj pa na spremenljivke. Za njih se zapiše znak za dolar ter ime spremenljivke. Poglejmo si primer;
<?php$stranicaA = 5; //določimo stranico a$stranicaB = 10; //določimo stranico b$ploscina = $stranicaA * $stranicaB; //določimo ploščinoecho 'Ploščina kvadrata s stranicama5 ter 10 je enaka ';echo $ploscina;?>
Izpisalo se bo:Ploščina kvadrata s stranicama 5 ter 10 je enaka 50V prejšnjem primeru smo dvakrat uporabili ukaz echo. Lahko ga tudi enkrat.
<?php$stranicaA = 5; //določimo stranico a$stranicaB = 10; //določimo stranico b$ploscina = $stranicaA * $stranicaB; //določimo ploščinoecho 'Ploščina kvadrata s stranicama5 ter 10 je enaka ' .$ploscina;?>
Z piko (.) smo torej združili besedilo z vrednostjo spremenljivke.PHP pozna več zank. Tukaj bomprikazal le dve najpogostejši
V prevodu to pomeni "če". Torej v stavek vnesemo naprimer 5=10 in stavek nam bo vrnil false (neresnično). Poglejmo si primer:
<?php$a = 100;$b = 99;if ($a==$b){ echo '100 je enako 99!';}else{ echo '100 ni enako 99!';}?>
Izpisalo se bo: 100 ni enako 99!Ta se izvaja dokler ni pogoj izpolnjen. Poglejte si primer:
<?phpfor ($i=1; $i<=10; $i++){ echo 'Spremenljivka i ima vrednost '.$i.'
';}?>
Izpisalo se bo:Spremenljivka i ima vrednost 1Spremenljivka i ima vrednost 2Spremenljivka i ima vrednost 3Spremenljivka i ima vrednost 4Spremenljivka i ima vrednost 5Spremenljivka i ima vrednost 6Spremenljivka i ima vrednost 7Spremenljivka i ima vrednost 8Spremenljivka i ima vrednost 9Spremenljivka i ima vrednost 10
Funkcije uporabljamo, da nam ni treba večkrat ponavljati istih ukazov. Primer:
<?phpfunction vrstica($a) {echo $a.'$lt;br>';}vrstica('besedilo...');vrstica('besedilo...');?>
Dvakrat se bo izpisalo besedilo... vsakič v novo vrstico. Če bi uporabili echo, ki se izpisalo besedilo...besedilo...<?phpfunction sestej($a,$b) { //ustvarimo funkcijo sestej, ki sprejme 2 argumentareturn $a+$b; //funkcija vrne seštevek 2 argumentov} //konec funkcijesestej (2,4); //ne izpiše se ničecho sestej (2,4); //izpiše se 6
$_GET in $_POST sta posebni spremenljivki, ki shranjujeta podatke poslane iz obrazca.
$_GET spremenljivka shranjuje podatke poslane iz obrazca ali pa iz URL-ja strani. Je v obliki polja.
Pred nadaljevanjem si prenesite to datoteko:obrazec.html. Ta vsebuje obrazec z kontaktnimi podatki, ki se bodo poslali na naslov stran.php . Torej to datoteko si shranite na vaš strežnik, ustvarite pa tudi novo datoteko stran.php. Vanj vpišite:
<php$ime = $_GET['ime'];$priimek = $_GET['priimek'];$starost = $_GET['starost'];echo 'Ime vam je '.$ime.' pišete pa se '.$priimek.'. Stari ste '.$starost.' let.';?>
Sedaj odprite obrazec.html ter vpišite podatke. Kliknite Potrdi. Odprla se bo stran stran.php kjer bodo izpisani vaši podatki. Če pa dobro pogledate v vrstico z URL-jem bodo noter zapisani vaši podatki. Obrazec je torej odprl stran$_POST spremenljivka shranjuje podatke poslane iz obrazca. Je v obliki polja. Če v obeh zgornjih datotekah spremenimo GET v POST, se bo pokazalo, kot prej, v URL-ju pa se podatki ne bodo prikazali.
Oglejmo si kako bi izpisali datum na serverju.
<?phpecho date("d.m.y");?>
Funkcija date torej vrne rezultat na serverju. Podati ji moram en argument v katerem zapišemo format. S to funkcijo lahko izpišemo tudi čas:<?phpecho date("d.m.y H:i:s");?>
V formatu lahko uporabljamo različna ločila. Glavni znaki so:Include in require vključita neko datoteko v le-to. Oba delujeta enako, le da različno delujeta ob napaki. Include vrne napako ter nadaljuje z izvajanjem require pa vrne usodno napake in izvanjanje skripte se ustavi.Pripročam require() seveda pa lahko zaenkrat uporabljamo kar include. Tako bomo videli, da če datoteka ne obstaja tudi podatkov, ki jih bomo želeli črpati iz nje ne bomo dobili. Pa si poglejmo primer:
casovneFunkcije.php :Torej v datoteki casovneFunckije.php nastavimo določene spremenljivke na neko vrednost. Vendar kako lahko imajo vse tri spremenljivke enako ime? To je mogoče. Spremenljivka $time je pravzaprav množica. Množica se označi z [ in ]. Tako nek objekt v tej množici poimenujemo ter mu določimo vrednost. Skratka objekt "navaden" v množici $time ima vrednost trenutnega časa. Objekt "datum" ima vrednost trenutnega datuma itd. To datoteko smo potem vstavili v datoteko mojaDatoteka.php s funkcijo include(). Tako lahko sedaj dostopamo do vseh spremenljivk v vstavljeni datoteki.<?php$time["navaden"] = date("G.i.s");$time["datum"] = date("d.m.Y");$time["vse"] = date("d.m.Y G.i.s");?>
mojaDatoteka.php:<?phpinclude("casovneFunkcije.php");echo "Trenuten čas je ".$time["navaden"];echo "
Danes je ".$time["datum"];echo "
Če to združimo dobimo ".$time["vse"];?>
PHP ima ogromno posebnih spremenljivk kot so $_GET, $_POST, $_SESSION, $_COOKIE, $_SERVER, $_REQUEST, $_ENV vsaka od teh množic pa ima mnogo objektov. Več informacij o njih najdete na:http://www.w3schools.com/php/php_superglobals.asp
Piškotki so posebne datotekice shranjene v brskalniku, ki spletnim stranem omogočajo shranjevanje določenih besedic. Primer:
<?phpsetcookie("mojPrviPiškotek", "filips");echo $_COOKIE["mojPrviPiškotek"];?>
Najprej smo s funkcijo setcookie nastavili vrednost našega piškotka. Prvi argument je ime drugi pa vrednost piškotka. Potem smo izpisali ta naš cookie s posebno spremenljivko $_COOKIE . Če si sedaj pogledamo listo cookiejev te strani bomo videli naš cookie. Spodaj piše da poteče ob koncu seje torej ko se brskalnik zapre. Mi lahko to tudi spremenimo tako, da čas podamo v tretjem argmuentu.<?phpsetcookie("mojPrviPiškotek", "kljuka", time()+3600);echo $_COOKIE["mojPrviPiškotek"];?>
Če si sedaj pogledamo piškotek vidimo da bo potekel čez eno uro.PHPSESSID je poseben piškotek, ki označuje vrednost seje. PHP pozna seje, ki so uporabne pri prijavljanju uporabnikov. Poglejmo si primer:
<?phpsession_start();if (isset($_SESSION["prijavljen"])==false) { if (isset($_GET["user"])){ $_SESSION["prijavljen"] = $_GET["user"]; die ("Uspešno ste prijavljeni!"); } die ("Napačno uporabniško ime!");}echo "Še vedno ste prijavljeni kot ".$_SESSION["prijavljen"];?>
Razlaga:?user=filipsIn kliknite enter. Izpisalo se bo uspešno ste prijavljeni. Sedaj zbrišite tisti zadnji del in povovno odprite datoteko. Izpisalo se bo, da ste še vedno prijavljeni kot filips. Če se želimo odjaviti moramo pognati ukaz unset($_SESSION) , ki sejo izbriše.
S pomočjo PHP SERVER spremenljivke lahko pridobimo nekaj informacij o trenutni php datoteki, ki se izvaja, klientu ali strežniku, ki gostuje datoteko. Sintaksa za dostop do spremenljivke je naslednja: $_SERVER['identifikator']
IDENTIFIKATORJI:trenutna php datoteki, ki se izvajaPHP_SELF - izpis trenutno zagnane php datotekeQUERY_STRING - izpis GET parametrov, ki se nahajajo v URL naslovuDOCUMENT_ROOT - pot do vrhnje mape spletnega strežnikaklient, ki dostopa do naše spletne straniREMOTE_ADDR - IP naslov uporabnika, ki dostopa do naše straniHTTP_REFERER - spletni naslov, iz katerega je uporabnik prišel na našo stranHTTP_USER_AGENT - informacije o brskalniku klientaspletni strežnik, na katerem gostujemoSERVER_ADDR - IP naslov strežnikaSERVER_SOFTWARE - kateri program se uporablja za spletni strežnikSERVER_ADMIN - kdo je administrator strežnikaSERVER_SIGNATURE - dodaten opis strežnika
MySQL je sistem za upravljanje s podatkovnimi bazami. Več informacij o njem najdete na:http://www.w3schools.com/php/php_mysql_intro.asp
OPOMBA: če želite preizkuševati ukaze, ki sledijo, potrebujete strežnik z nameščeno MySql podporo.
Pred nadaljevanjem ustvarite poljubno bazo in v njej poženite ukaz:
CREATE TABLE `table` (`id` INT NOT NULL AUTO_INCREMENT ,`number` INT NOT NULL ,`text` TEXT NOT NULL ,`date` DATE NOT NULL ,PRIMARY KEY ( `id` )) ENGINE = MYISAM;INSERT INTO `table`(`id`, `number`, `text`, `date`) VALUES (1,'1211','text','2016-04-28');INSERT INTO `table`(`id`, `number`, `text`, `date`) VALUES (2,'6543','my text','2016-04-01');ki bo ustvari tabelo v bazi in vanjo doda nekaj podatkov.
$mysqli = new mysqli("host", "username", "password", "database");
Spodnji primer prikazuje, kako se povežemo na bazo my_db na lokalnem računalniku, z uporabniškim imenom root in praznim geslom. Vi vpišite svoje podatke.$mysqli = new mysqli("localhost", "root", "", "my_db");
Ko ustvarimo povezavo, je priporočljivo, da preverimo, ali je bila povezava na bazo uspešna:if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;}
Poleg mysqli se za povezovanje na bazo uporablja tudi razširitev mysql. Ker pa je razširitev mysql od verzije PHP 5.5 naprej opuščena, raje uporabljate razširitev mysqli.Sedaj bomo pripravili novo SQL poizvedbo, ki bo vrnila podatke iz tabele my_table. Pod kodo iz prejšnjega koraka vpišite:
$query = "SELECT * FROM my_table";$result = $mysqli->query($query);
Rezultat poizvedbe je shranjen v spremenljivki $result.while ($row = $result->fetch_assoc()) { echo $row['number'].'
'; echo $row['text'].'
'; echo $row['date'].'
'; echo '------------------------
';}
Najprej pripravimo utrezen SQL stavek za vstavljanje podatkov. Zatem ga zaženemo in podatki bodo vpisani v bazo.
Omenjeni postopek je prikazan na spodnjem primeru:
$query="INSERT INTO my_table(id, number, text, date) VALUES(0,987,'hello','2013-05-21')";$mysqli->query($query);
13. februar 2016 Dodana vadnica o PHP in MySql dostopna nahttp://www.filip.phpnet.us/php.html.
9. februar 2016 Spletna stran dobila spletni dnevnik, ki si ga lahko ogledate nahttps://filips-site.blogspot.si/.
24. november 2015 Spletna stran dobila novo podobo. Staro si lahko ogledatetukaj. Vodič, da se boste zmašli na novi spletni strani je na voljotukaj.