Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PHP Úvod do programování Kontaktní údaje: Ing. Antonín Skopec

Podobné prezentace


Prezentace na téma: "PHP Úvod do programování Kontaktní údaje: Ing. Antonín Skopec"— Transkript prezentace:

1 PHP Úvod do programování Kontaktní údaje: Ing. Antonín Skopec

2 Přehled Seznámení se s programováním dynamicky generovaných webových stránek Jazyk PHP - princip, syntaxe, typy, konstanty a proměnné, základní operátory a příkazy, implementované funkce Obsluha formulářů a jeho prvků Práce se soubory a složkami Odesílání u ze skriptu PHP, HTTP hlavičky Databázový server MySQL + správa dat v databázi Spolupráce PHP s MySQL serverem Praktické příklady Práce na zvoleném projektu + závěrečná prezentace

3 Podmínky zápočtu/zkoušky
Seminární práce 75 bodů prototyp 25 bodů aplikace 50 bodů Průběžné hodnocení a prezentace 25 bodů CELKEM 100 BODŮ minimálně polovina z každé části prototyp, aplikace, prezentace

4 Seminární práce, hodnocení
Vytvoření prototypu WWW aplikace (25) návrh, em nebo na papíře (10) návrh HTML stránky dle schváleného zadání (15) Vytvoření aplikace (50) návrh databáze (10) Přihlašování, formulář s validací, administrace (10) Dynamický obsah (10) RSS výstup (10) Dokumentace (10) Za každý započatý týden zpoždění oproti stanovenému termínu -5 bodů!

5 WWW aplikace Vyberte si, jakou aplikaci chcete dělat. Musí obsahovat:
databázi, minimálně jedna vazba 1:N přihlašování uživatelů administrační rozhraní pro databázi, formuláře RSS výstup

6 Příklady WWW aplikace Databáze článků (časopis/vydání/článek)
Psi z útulku (útulky/lidé/psi) Vhodné dárky (příležitosti/dárky/obchody) Seznam www/obchodů (Kategorie/region/obchod) vlastní návrh Aplikaci navrhněte jednoduchou, práce bude hodně!

7 Termíny PROTOTYP do pošlete návrh své aplikace, rozsah A4 textu do pošlete em odkaz a soubory v zip APLIKACE do , odevzdat aplikaci napsat dokumentaci em poslat odkaz na aplikaci online a zdrojový kód v zip ve zkouškovém období se dostavit k zápočtu Pracujte na úkolu průběžně, nejlépe o cvičeních k tomu určených!

8 Odkazy www.php.net - oficiální stránky PHP
- programování v PHP php.interval.cz - základy PHP php.vrana.cz - kurz jazyka HTML a CSS

9 Založení webu (příklad)
Registrace a provoz domény zdarma Minimální zobrazování reklam Podpora jazyka PHP a databáze MySQL Správa databáze pomocí prostředku phpMyAdmin Možnost odesílat pomocí PHP skriptu Možnost uploadu stránek na server pomocí FTP protokolu

10 Doporučený editor PSPad Freeware editor webových stránek
Domovská stránka:

11 Historie PHP je skriptovací jazyk na straně serveru
1994 – Rasmus Lerdorf vytvořil kombinaci skriptů v Perlu pro sledování přístupu na vlastní web stránku, požadavky na zlepšení →„Personal Home Page tools“ později „Personal Home Page Construction Kit“ 1995 – PHP/FI 2.0 : skriptovací jádro + analýza vstupu z formulářů + obsluha sql serveru PHP 3.0: vytvořili Andi Gutmans a Zeev Suraski. Původní zkratka dostává nový význam →„ PHP: Hypertext Preprocessor“

12 Historie 2000 – PHP 4.0 : podpora pro mnoho WWW serverů, HTTP sessions, buffering výstupu, bezpečnější způsoby zpracování vstupů uživatele a nové jazykové konstrukty 2004 – PHP 5.0 : podpora objektově orientovaného programování

13 Proč PHP ANO? Získávání dat z formulářů a práce s těmito daty
Dynamické generování stránek na základě získaných dat Široká spolupráce s databázemi Podpora protokolů HTTP, FTP, SMTP, POP3, atd. Obsahuje knihovny funkcí pro práci s textovými řetězci, obrázky, datem a časem, soubory a složkami, aj. Obsahuje knihovnu matematických funkcí Skripty jsou prováděny na straně serveru - stažená stránka z www serveru tedy neobsahuje zdrojové kódy PHP skriptů. Velmi svobodná licence

14 Proč PHP NE? Interpretovaný ne kompilovaný jazyk
PHP skripty v textové podobě Neexistuje kompletní definice, je popsána jen implementace Nekonzistentní pojmenování funkcí Nejednotné pořadí parametrů Slabší podpora UNICODE

15 K čemu PHP? Firemní prezentace Podnikové informační systémy
Internetové obchody Redakční systémy Diskusní fóra Dynamické osobní stránky Webklienti pro poštu i db Počitadla, ankety …

16 HTML Co se děje se stránkami psanými čistě v HTML kódu ?
Webový server přečte požadavek prohlížeče Nalezne stránku na serveru Odešle stránku přes internet zpět prohlížeči Prohlížeč interpretuje HTML kód a zobrazí webovou stránku Co se děje se stránkami psanými čistě v HTML kódu ?

17 PHP Co se děje se stránkami obsahujícími PHP kód ?
Webový server přečte požadavek prohlížeče Nalezne stránku na serveru Provede instrukce PHP pro modifikaci webové stránky Odešle stránku přes internet zpět prohlížeči (čisté HTML) Prohlížeč interpretuje HTML kód a zobrazí webovou stránku Co se děje se stránkami obsahujícími PHP kód ?

18 Základy PHP PHP kód se zapisuje v textovém tvaru
PHP interpret (běžícím na webovém serveru) kód překládá a posílá do klienta (prohlížeče) hotový html kód skripty (podobně jako .asp) narozdíl od JavaScriptu provádí server nezatěžuje vlastní počítač - náročný na komunikaci se serverem př. webový server nejprve spočítá kolik je 300/30 a pak prohlížeči odešle jen výsledek tj. číslo 10

19 Základy syntaxe Název souboru webové stránky stadnardně obsahuje příponu "php" nebo „phtml“ (např. index.php) (! může mít jakoukoliv jinou, dle nastavení v konfiguračních souborech) Začlenění PHP skriptu do (X)HTML kódu webové stránky <?php echo "ahoj"; ?> Další možnosti (nedoporučuje se použivat): a) <? echo "ahoj"; ?> b) <script language="php"> echo "ahoj"; </script> c) <% echo "ahoj"; %> c) <% echo ahoj ; %>", "width": "800" }

20 Základy syntaxe PHP nerozlišuje u speciálních slov a funkcí velikost písmen: echo = Echo = eChO U názvů funkcí to platí také: PHPInfo() = phpinfo() Neplatí to u proměnných: $jmeno není to samé, co $Jmeno PHP ignoruje mezery, tabulátory a odřádkování, ty jsou pouze pro přehlednost v kódu Nelze psát mezery do názvů funkcí, proměnných apod.

21 Základy syntaxe Oddělení instrukcí

22 Základy syntaxe Komentáře
<?php   // Text za dvojitým lomítkem je až do konce řádku ignorován...   # Druhý způsob komentáře na jeden řádek...   /*     Víceřádkový komentář.     Často se používá pro vyřazení bloku kódu PHP,     který momentálně nechceme použít.   */ ?>

23 První příklad <?php phpinfo(); ?>

24 ECHO Příkaz echo slouží k výpisu:
jednotlivých textových znaků a řetězců HTML kódu konstant obsahu proměnných Lze použít i funkci print()

25 ECHO příklady <?php $Sirka = 640; $Vyska = 480; // Vkládání do HTML: ?> <img src="obrazek.png" width="<?php echo $Sirka; ?>" height="<?php echo $Vyska; ?>" alt="Obrázek"> /* Generování celého HTML */ // Vypsání více parametrů: echo '<img src="obrazek.png" width="', $Sirka, '" height="', $Vyska, '" alt="Obrázek">'; // Spojování řetězců pomocí operátoru . (tečka): echo '<img src="obrazek.png" width="' . $Sirka . '" height="' . $Vyska . '" alt="Obrázek">';

26 Konstanty obsah se později ve skriptu nedá změnit
narozdíl od proměnných názvy konstant nezačínají znakem $, zvykem je psát názvy konstant velkými písmeny PHP obsahuje i několik předdefinovaných konstant, například PHP_OS define('SPOLECNOST', ‚VOŠIS Praha'); define('PRODUKT', ‚Vyuka PHP'); define('VERZE', 2011); echo SPOLECNOST, ' představuje svůj nový produkt ', PRODUKT, ' ve verzi ', VERZE, '.';

27 Proměnné Pravidla pro název proměnné
Proměnné slouží k uchovávání hodnot, které lze během provádění skriptu měnit. Proměnné začínají znakem $ (dolar), např. $soucet Pravidla pro název proměnné V názvu proměnné nepoužívat diakritiku PHP rozlišuje velká a malá písmena v názvu!!! Název proměnné nesmí začínat číslicí nebo speciálními znaky, uvnitř názvu lze použit číslici (např. $promenna1). $mojepromenna a $MojePromenna nejsou stejné! jednopísmenné názvy ne! – po týdnu nevím, co je proměnná $d a $g ? příliš dlouhé názvy ne! –snadněji se udělá chyba sebepopisující názvy, jeden jazyk - četina bez hacku a carek - angličtina

28 Přiřazení hodnoty $promenna=2; $text_prom="Zdravím Vás";
Výpis hodnoty proměnné echo $promenna; echo "Toto je moje proměnná: $promenna"; echo "Je mi $narozen let."; echo "Je mi ".$narozen." let."; echo "Je mi <strong>".$narozen.“</strong> let.";

29 Jednoduché typy proměnných
Typy proměnných: integer, double, string, boolean, array, object $a = 1; // $a je typ integer (celé číslo) $a = 1.5; // $a je typ double (desetinné číslo) $a = 1e-3; // $a je typ double ($a = 0.001) $a = “nějaký text”; // $a je znakový řetězec (také $a = “1”;) $a = TRUE; // $a logický typ “pravda” (FALSE - nepravda) Čísla lze zapisovat také v šestnáctkové soustavě: $a = 0xFF; // v $a bude uložena hodnota 255

30 String (řetězec) $jmeno=”Antonín”; $prijmeni=”Skopec”;
Textové řetězce uzavíráme do uvozovek (“text”) nebo apostrofů (‘text’) Spojování řetězců se provádí pomocí tečky: $jmeno=”Antonín”; $prijmeni=”Skopec”; echo “Zadali jste toto jméno: ”.$jmeno.“ ”.$prijmeni;

31 Psaní speciálních znaků
\\ znak zpětné lomítko – ‘ \ ’ \n nová řádka – obdoba tagu <br> v HTML \t tabulátor \” znak uvozovky – ‘ ” ’ \$ znak dolar – ‘ $ ’ $a=20; echo “V proměnné \$a je uložena hodnota $a”;

32 Střídání uvozovek a apostrofů
<?php   /* Apostrofy */   // echo 'I'd like to tell you: "You're the most interesting man I've ever met."';   // Toto by bylo špatně.   echo 'I\'d like to tell you: "You\'re the most interesting man I\'ve ever met."';   // Toto je správně.   /* Uvozovky */   // echo "I'd like to tell you: "You're the most interesting man I've ever met."";   // Toto by bylo špatně.   echo "I'd like to tell you: \"You're the most interesting man I've ever met.\"";   // Toto je správně. ?>

33 Odřádkování v řetězci mezi apostrofy či uvozovkami můžete odřádkovat enterem, vše se promítne do HTML kódu Operační systém Sekvence Windows \r\n Linux \n Mac OS \r Místo odřádkování enterem uvnitř řetězce je však mnohdy lepší pro znak nového řádku v PHP použít danou escape sekvenci POZOR, tato sekvence se převede na odřádkování pouze v případě, že je vypsána v uvozovkách!!!

34 Odřádkování pomocí sekvencí
Operační systém Sekvence Windows \r\n Linux \n Mac OS \r POZOR, tato sekvence se převede na odřádkování pouze v případě, že je vypsána v uvozovkách!!! <?php   echo 'řádek 1<br>\r\nřádek 2<br>\r\nřádek3';   /*     Vypíše \r\n literárně:     řádek 1<br>\r\nřádek 2<br>\r\nřádek3   */   echo "řádek 1<br>\r\nřádek 2<br>\r\nřádek 3";   /*     Sekvence \r\n je převedena na odřádkování:     řádek 1<br>     řádek 2<br>     řádek 3   */ ?>

35 Odřádkování pomocí konstanty
Lepší je definice pomocí konstanty <?php   define('NL', "\r\n");   echo 'řádek 1', NL;   echo 'řádek 2';   echo NL;   echo 'řádek 3'; ?>

36 Výpis proměnné Proměnnou vypisujeme pomocí příkazu echo():
$dolar="1$"; echo $dolar; echo "$dolar"; echo "mám jen" . $dolar . "<br />"; echo "nemám ani $dolar" ; složitější, ale předejde se případným komplikacím: obyčejný text se píše do uvozovek a od proměnné odděluje tečkou

37 Expanze proměnné <?php   $Jmeno = 'Tereza';   echo 'Jmenuji se $Jmeno.';   // Vypíše: Jmenuji se $Jmeno.   echo "Jmenuji se $Jmeno.";   // Vypíše: Jmenuji se Tereza. ?> <?php $Jmeno = 'Tereza';   echo "Obsah proměnné \$Jmeno je $Jmeno";   // Vypíše: Obsah proměnné $Jmeno je Tereza   // Poněkud lepší řešení:   echo 'Obsah proměnné $Jmeno je ', $Jmeno; ?> První výskyt proměnné $Jmeno je uvozen zpětným lomítkem, takže se vypíše literárně "$Jmeno". Druhý výskyt již zpětným lomítkem uvozen není, takže je proměnná $Jmeno nahrazena svým obsahem. V tomto případě "Tereza".

38 Úkol s použitím příkazů echo(), escape sekvencí a html tagů napište skript, který zobrazí v okně prohlížeče tento text: každý řádek okomentujte


Stáhnout ppt "PHP Úvod do programování Kontaktní údaje: Ing. Antonín Skopec"

Podobné prezentace


Reklamy Google