1 / 134

TVORBA WEBOVÝCH STRÁNEK

TVORBA WEBOVÝCH STRÁNEK. Výukový modul TWS_04 Ing. Pavel Chmiel, Ph.D. UNIV 2 - KRAJE. Osnova výukového modulu TWS_04. Jazyk PHP – význam, syntaxe, WAMP server, spouštění skriptů Příkaz ECHO Proměnné a konstanty v PHP, matematické operace Příkazy pro větvení a tvorbu cyklů

hallie
Download Presentation

TVORBA WEBOVÝCH STRÁNEK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TVORBA WEBOVÝCH STRÁNEK Výukový modul TWS_04 Ing. Pavel Chmiel, Ph.D. UNIV 2 - KRAJE

  2. Osnova výukového modulu TWS_04 • Jazyk PHP – význam, syntaxe, WAMP server, spouštění skriptů • Příkaz ECHO • Proměnné a konstanty v PHP, matematické operace • Příkazy pro větvení a tvorbu cyklů • Příkazy pro vkládání obsahu souborů (include, require) • Funkce v PHP (uživatelské, předdefinované) • Databáze – základní pojmy, výběr databázového systému • Databázový systém MySQL, správa databáze, jazyk SQL • PHP funkce pro práci s databázovým systémem MySQL

  3. Jazyk PHP • PHP je skriptovací jazyk vykonávaný na straně webového serveru. PHP skripty se vkládají přímo do kódu webové stránky (uzavřen ve speciálním párovém tagu). • Na straně webového serveru se nejprve vykonají (interpretují) všechny PHP příkazy a funkce, poté se prohlížeči pošle upravená webová stránka obsahující pouze HTML/CSS kód.

  4. Jazyk PHP Server hostující dynamické webové stránky musí obsahovat: • Aplikaci webového serveru (např. Apache) • PHP engine - interpretr PHP skriptů • Databázový systém (např. MySQL) Při vývoji (tvorbě) webových stránek je vhodné mít tyto aplikace nainstalovány na lokálním počítači (localhost). Výhoda: - rychlost při testování,- není nutné připojení k internetu,- možnost upravit si konfiguraci přesně dle vlastních požadavků.

  5. WAMP server WAMP server je balík nakonfigurovaných aplikací pro vývoj dynamických webových stránek, obsahující: • webový server APACHE • interpretr jazyka PHP • databázový systém MySQL • webový nástroj pro správu databáze phpMyAdmin WAMP server je zdarma ke stažení: www.wampserver.com

  6. Základní vlastnosti jazyka PHP • zpracování údajů z formulářů • modifikace obsahu, formátování a struktury webové stránky • obsahuje funkce pro práci s databázemi (např. MySQL) • obsahuje velké množství dalších odladěných funkcí, např.:- práce s textovými řetězci- práce s datem a časem- práce s elektronickou poštou a pro FTP přístup na server- matematické funkce- práce s obrázky- práce se soubory a složkami, atd.- možnost vytvářet vlastní funkce a procedury • skripty prováděny na serveru – výsledná stránka neobsahuje PHP kód

  7. Pravidla použití jazyka PHP • soubory webové stránky obsahující PHP skripty musí mít příponu*.php(např. index.php) • PHP skripty se vkládají mezi speciální značky:<?phpecho "ahoj světe!"; ?> • PHP příkazy, funkce, deklarace proměnných a konstant jsou vždy ukončeny středníkem • v názvu proměnné, konstanty a vlastní funkce nepoužívat diakritiku

  8. Zjištění konfigurace PHP, spuštění skriptu Funkce pro zjištění konfigurace PHP enginu:<?php phpinfo(); ?> kód (PHP skript) vložit do souboru webové stránky, uložit s příponou php (např. test.php) do pracovního adresáře webového serveru, pro spuštění na lokálním webovém serveru s PHP zapsat v prohlížeči adresu: localhost/test.php pro spuštění na vzdáleném webovém serveru s PHP zapsatv prohlížeči adresu: www.mojestranky.cz/test.php

  9. Příkaz ECHO Příkaz ECHO slouží k: • výpisu statických textových řetězců • dynamickému vkládání HTML/CSS kódu • výpisu obsahu PHP proměnných • výpisu obsahu PHP konstant • kombinace bodů 1. až 4.

  10. Příkaz ECHO 1. Výpis statických textových řetězců <?phpecho"Ahoj světe!"; ?> Celá konstrukce se zapíše přímo do těla webové stránky, tedy mezi párové značky <body> </body> UPOZORNĚNÍ: Spustit na lokálním webovém serveru (localhost, popř. přímo adresa 127.0.0.1) !!!

  11. Příkaz ECHO 2. Dynamické vkládání HTML/CSS kódu <?php echo"<span class='cervene'>Ahoj</span> světe!"; ?> 1. použít apostrofy'2. použít sekvenci \" UPOZORNĚNÍ: HTML / CSS kód uvnitř příkazu ECHO bude interpretován, nikoliv zobrazen jako statický text !!!

  12. Psaní speciálních znaků Některé znaky mají v PHP speciální význam. Pro výpis znaku v prohlížeči je nutné použít zpětné lomítko před tímto znakem. Takto zapsaná sekvence (zpětné lomítko + znak) je uvnitř příkazu ECHO chápána jako znak (", ', $, \)

  13. Psaní speciálních znaků <?php echo"Vyučující řekl: \"Děti, pište si!\""; echo"<br />"; echo"Cena je <span class=\"cervene\">1.000\$</span>"; ?>

  14. Komentáře v PHP • Slouží k popisu jednotlivých části PHP kódu pro větší přehlednost, snadnou úpravu a pochopení kódu i za delší dobu provozu webu. • PHP engine při interpretaci PHP skriptů komentáře ignoruje. <?php /* Víceřádkový komentář. Při vývoji a testování webu slouží také k odstavení nepoužívané části PHP kódu. */ echo"Ahoj světe!";//Jednořádkový komentář?>

  15. Proměnné v PHP • Proměnné slouží k uchování hodnot, které lze během provádění skriptu měnit. • Proměnné začínají znakem $ (dolar), např. $soucet • Pro název proměnné platí tato pravidla:- nepoužívat diakritiku,- PHP rozlišuje velká a malá písmena ($prom ≠ $PROM),- název nesmí obsahovat jiné symboly než písmena, číslice, podtržítko,- název vždy začíná písmenem nebo podtržítkem. • Proměnnou lze deklarovat na kterémkoliv místě v PHP skriptu • Není potřeba uvádět datový typ hodnot, které bude obsahovat.

  16. Přiřazení hodnoty do proměnné Operátorem pro přiřazení hodnoty do proměnné je = (znak „rovná se“) Proměnné, umožňující přiřazení jedné hodnoty: $promenna_cislo = 2; $promenna_cislo = 1.76; $promenna_cislo = 1e-3; (ekvivalent k číslu 0.001) $promenna_text = "Nějaký textový řetězec"; $promenna_text = "2"; $promenna_log = true; (logické hodnoty: true - pravda, false - nepravda)

  17. Vypsání hodnoty proměnné $vek = 35; // deklarace proměnné echo $vek; // vypíše: 35 echo "Je mi $veklet."; // vypíše: Je mi 35 let. echo "Je mi <strong>$vek</strong> let."; // vypíše: Je mi 35 let. echo "Proměnná \$vek =$vek"; // vypíše: Proměnná $vek = 35

  18. Výpis hodnoty proměnné Pro výpis obsahu proměnných společně s textem je někdy výhodné použít spojení pomocí symbolu tečky nebo čárky. Nezbytné především u proměnných typu SESSION, COOKIE, POST, GET, SERVER, REQUEST, ENV a tzv. asociativních polí. $vek = 35; echo "Je Vám<span class='cervene'>".$vek."</span>let."; echo "Vaše IP adresa je: ",$_SERVER["REMOTE_ADDR"]; Výsledný text v prohlížeči:Je Vám 35 let. Vaše IP adresa je: 82.209.58.100

  19. Proměnná typu „pole“ • Umožňuje uchovávat více hodnot (prvků pole), které spolu souvisí. • Každá hodnota je dostupná pomocí indexu, zapsaného v hranaté závorce. • Pokud není uvedeno jinak, pole se indexuje od nuly. • Příklad jednoduché proměnné typu pole:$jmena[0]="Pankrác";$jmena[1]="Servác";$jmena[2]="Bonifác";echo$jmena[1];//vypíšeServác

  20. Proměnná typu „pole“ • Jednotlivé hodnoty uložené v poli mohou být libovolného typu: • Ukázkový příklad:$pole[0]=3.14;// reálné číslo$pole[1]=77;// celé číslo$pole[2]="Toto je nějaký text…";// textový řetězec

  21. Proměnná typu „pole“ • Inicializaci pole lze provést také zjednodušeně pomocí funkce array() • Ukázkový příklad:$RajskySalat=array('rajče', 'cibule', 'sůl', 'cukr', 'pepř');echo$RajskySalat[2];// Vypíše:sůl

  22. Proměnná typu „pole“ • Pokud u pole použijeme prázdný index, číslování indexů je nastaveno automaticky od nuly. • Ukázkový příklad:$pole[]=11;$pole[]=22;$pole[]=33;echo$pole[0];//vypíše11echo$pole[1];//vypíše22echo$pole[2];//vypíše33

  23. Proměnná typu „pole“ • Jako index lze použít textový řetězec (tzv. asociativní pole). • Ukázkový příklad:$kosik["kod_zbozi"]=76889;$kosik["nazev"]="Nikon D700";$kosik["cena"]=54990;echo$kosik["nazev"];//vypíšeNikon D700

  24. Proměnná typu „pole“ • Počet prvků v poli lze zjistit pomocí funkce count() • Ukázkový příklad:$RajskySalat=array('rajče', 'cibule', 'sůl', 'cukr', 'pepř');$pocet = count($RajskySalat); // proměnná $pocet má hodnotu 5

  25. Proměnná typu „pole“ • Pole může být i vícerozměrné přidáním dalších indexů. • Ukázkový příklad dvourozměrného pole $kaledar:$kalendar["leden"][1]="Nový rok";$kalendar["leden"][2]="Vyspávám opičku…";$kalendar["leden"][3]="3. leden - Hurá do práce!";echo$kalendar["leden"][2];//vypíšeVyspávám opičku…

  26. Konstanty v PHP • Konstanta slouží k pojmenování hodnoty, na kterou se budeme při provádění skriptu odkazovat. Hodnotu konstanty nelze za běhu měnit.define ("jmeno_konstanty","hodnota");define ("pi","3.14");define ("max","100");define ("maxN","100", true); Třetí parametr je volitelný – “true” znamená že nezáleží na velikosti písmen v názvu konstanty (maxN, maxn, MAXN, atd. jsou shodné).

  27. Konstanty v PHP • Použití konstanty ve skriptu:define ("max","100");echo "Maximální hodnota je ".max;Výsledný text v prohlížeči:Maximální hodnota je 100 • Využití konstant: • Číselné hodnoty označíme výstižnějším názvem, který lépe vystihujejejich význam (např. konstanta pi = 3.14, abs_nula = -273.16), • Změna konstantní hodnoty v rozsáhlých stránkách na jednom místě.

  28. Metody odesílání dat z formuláře • Metody GETa POST určují způsob odeslání dat z formuláře obslužnému skriptu. • Uživatelem vložené, popřípadě předdefinované (atribut VALUE) hodnoty jednotlivých formulářových prvků jsou v obslužném skriptu přístupné prostřednictvím globální proměnné typu pole: $_GET["nazev_prvku"] $_POST["nazev_prvku"] Jméno formulářového prvku (atribut NAME)

  29. Metoda GET • Výchozí metoda všech formulářů. Všechna data formuláře jsou zaslána obslužnému skriptu prostřednictvím URL adresy. • Metodu lze využít při navigaci v rámci webové stránky a při předávání parametrů stránky (např. ID článku, vyhledávaný řetězec, apod.) • Metoda GET je vhodná pouze pro zasílání textových řetězců, nelze použít pro odesílání souborů nebo velkého objemu hodnot !!! • Hodnoty se přenášejí ve tvaru nazev_promenne = hodnota Příklad: http://www.vase-stranky.cz/obsluha.php?prom1=hodn1&prom2=hodn2

  30. Metoda GET Pozn.: HEX = Hexadecimální (šestnáctková) číselná soustava. Příklad: znak „č“ bude v URL přenášen ve tvaru %E8 (E816 = 23210)

  31. Metoda GET Konstrukce formuláře: formular.htm <form action="vypis.php" method="GET"> Jméno: <input name="jmeno" type="text" /><br /> Příjmení: <input name="prijmeni" type="text" /><br /> <input type="submit" value="Odeslat" /> </form>

  32. Metoda GET localhost/vypis.php?jmeno=Pavel&prijmeni=Chmiel PHP automaticky dekóduje data z URL adresy a uloží každou dvojicipromenna=hodnota jako proměnnou s odpovídajícím názvem do pole $_GET["jmeno_formularoveho_prvku"] Obslužný skript: vypis.php <?php echo "Vaše jméno: ".$_GET["jmeno"]."<br>"; echo "Vaše příjmení: ".$_GET["prijmeni"]; ?>

  33. formular.htm vypis.php

  34. Metoda POST • Metoda je určena pro odesílání většího objemu dat (velké množství textových hodnot, datové soubory různého typu, apod.) v přímo v těle HTTP požadavku webovému serveru. • Přenášená data nejsou součástí URL adresy, vhodné pro přenos citlivých údajů (např. login, heslo, bezpečnostní kód, apod.). • Metoda POST vždy odesílá nový HTTP požadavek webovému serveru. Nehledá se tedy stránka uložená v mezipaměti (cache) prohlížeče na lokálním disku, ale vždy se načte nová stránka z webového serveru.

  35. Metoda POST Konstrukce formuláře: formular.htm <form action="vypis.php" method="POST"> Jméno: <input name="jmeno" type="text" /><br /> Příjmení: <input name="prijmeni" type="text" /><br /> <input type="submit" value="Odeslat" /> </form>

  36. Metoda GET localhost/vypis.php PHP dekóduje data z HTTP požadavku webovému serveru a uloží je jako proměnnou s odpovídajícím názvem do pole:$_POST["jmeno_formularoveho_prvku"] Obslužný skript: vypis.php <?php echo "Vaše jméno: ".$_POST["jmeno"]."<br />"; echo "Vaše příjmení: ".$_POST["prijmeni"]; ?>

  37. formular.htm vypis.php

  38. Metoda POST – přenos souborů Odesílají-li se z formuláře metodou POST kromě textu také soubory (např. obrázky), je potřeba v definici formuláře nastavit atributENCTYPE: enctype= "multipart/form-data" <formaction="skript.php"method="POST"enctype="multipart/form-data"> <input type="file"name="soubor" /> … další formulářové prvky …. </form>

  39. SESSION proměnné • Patří mezi tzv. superglobální proměnné – hodnoty uložené v těchto proměnných jsou přístupné na všech webových stránkách (ve všech souborech obsahujících PHP skripty) určité webové prezentace. • Před použitím SESSION proměnné na určité webové stránce je nutné zavolat funkci (pouze jednou na stránce): session_start();(nespoléhat se na nastavení v souboru php.ini: session.auto_start =1) • Webový prohlížeč uživatele, který si stránku načte, získá jedinečný ID kód (session ID). Zároveň se vytvoří textový soubor (tzv. session, neboli relace) na straně webového serveru s tímto ID, ve kterém jsou ukládány veškeré session proměnné a jejich hodnoty tohoto uživatele.

  40. SESSION proměnné Příklad názvu souboru: sess_l20dpvbrg7pfu01lr47qf1nue3 Příklad obsahu souboru:id|i:1;cas|i:1096972373;stranek|i:8 Session (relace) je platná: • Dokud ji nezrušíme pomocí PHP funkce session_destroy(); • Dokud neukončíme webový prohlížeč

  41. Vytvoření SESSION proměnné <?php session_start(); $_SESSION["nazev_promenne"] = hodnota; ?> • Hodnota proměnné bude přístupná na všech webových stránkách (resp. PHP skriptech) webové prezentace. • Umožňuje tedy jednoduché sdílení hodnot mezi jednotlivými částmi webové prezentace.

  42. Použití SESSION proměnné <?php session_start(); $_SESSION["cislo"] = 35; ?> soubor1.php <?php session_start(); echo "Číselná hodnota: ".$_SESSION["cislo"]."<br />"; ?> soubor2.php

  43. PHP funkce pro SESSION proměnné • session_start()- vytvoří session (ID) • session_id()- zjistí aktuální session ID • session_is_registered("nazev_promenne")- vrátí hodnotu TRUE, pokud je session proměnná již zaregistrovaná a FALSE v případě, že ještě není zaregistrována • unset($_SESSION["nazev_promenne"])- Zrušení hodnoty proměnné nazev_promenne v session • session_destroy()- odstraní aktuální session (např. při odhlašování uživatele)

  44. Proměnné webového serveru a PHP Jedná se o proměnné vytvářené webovým serverem a PHP enginem: $_SERVER["nazev_promenne"] Proměnné a jejich obsah (hodnoty) lze ve skriptech běžně používat. Přehled proměnných a jejich hodnot získáme pomocí funkce phpinfo(); (v části „PHP Variables“) Ukázka systémových proměnných a jejich obsahu:

  45. Základní matematické operátory • Matematické operace lze provádět s čísly, konstantami a proměnnými, jejichž obsahem je číslo, popřípadě textový řetězec, který lze na číslo převést. • Lze používat také PHP funkce, jejichž výstupem je číselná hodnota. • Pro změnu pořadí matematických operací lze využít kulaté závorky ( ).

  46. Základní matematické operátory <?php $a = 1; $b= 3;$c= 5;$d= "7"; $e = "ahoj"; echo $a + $b;// vypíše: 4 echo ($d +$a)* $c;// vypíše: 40, proměnná $d se přetypuje na číslo 7 echo $e+$a;// vypíše: 1, proměnnou $e nelze přetypovat na číslo! echo $d/5;// vypíše: 1.4 echo $d%5; // vypíše: 2 echo $a -($d*($b - 2));// vypíše: -6 echo round($c+sqrt($b));// vypíše: 7 ?> PHP funkce: odmocnina čísla zaokrouhlení čísla

  47. Příkazy pro větvení programu Umožňují stanovit bloky kódu, které budou provedeny při splnění či nesplnění stanovených podmínek. Základní konstrukce podmínkového příkazu:IF (jestliže) – ELSE (jinak)Provede se příkaz nebo blok kódu, je-li splněna podmínka. $a = 1;if($a==0)echo"proměnná \$a je rovna hodnotě0"; // Tento příkaz se neprovedeelseecho"proměnná \$a není rovna hodnotě 0";// Tento příkaz se provede

  48. Konstrukce podmínky příkazu IF Podmínka se uvádí v kulaté závorce za příkazem IF. Za příkazem IF ani ELSE se nepíše středník! if(podmínka) Vyhodnocení podmínky musí vracet logickou hodnotu: TRUE – „pravda“, neboli podmínka je splněnaFALSE – „nepravda“, neboli podmínka není splněna • Jedná se především o porovnávání (komparaci) dvou hodnot. • Je-li podmínka splněna (TRUE), vykoná se blok příkazů části IF, není-li podmínka splněna (FALSE), vykoná se blok příkazů části ELSE.

  49. Konstrukce podmínky příkazu IF A, B – mohou představovat proměnné, konstanty, statické hodnoty (číselné, textové, logické), popř. funkce, vracející tyto hodnoty.

More Related