PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.



Podobné dokumenty
Maturitní otázky z předmětu PROGRAMOVÁNÍ

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Vstupní požadavky, doporučení a metodické pokyny

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

PHP tutoriál (základy PHP snadno a rychle)

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Algoritmizace a programování

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Ukázka knihy z internetového knihkupectví

1 Webový server, instalace PHP a MySQL 13

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Algoritmizace a programování

5 Přehled operátorů, příkazy, přetypování

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

IB111 Programování a algoritmizace. Programovací jazyky

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

1. Webový server, instalace PHP a MySQL 13

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Instalace a konfigurace web serveru. WA1 Martin Klíma

Maturitní témata Školní rok: 2015/2016

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

17. července :51 z moravec@yahoo.com

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Programovací jazyk Pascal

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

6 Příkazy řízení toku

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

APS Administrator.OP

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Vytvoření bootovatelného média

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

ANOTACE vytvořených/inovovaných materiálů

Skriptovací jazyky. Obsah

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

Zápis programu v jazyce C#

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG )

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Ukázka knihy z internetového knihkupectví

Programovací jazyky Přehled a vývoj

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Programovací jazyk C++ Hodina 1

Instalace a první spuštění Programu Job Abacus Pro

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Operátory. Základy programování 1 Tomáš Kühr

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

language="javascript">... </script>.

Úvod do programování. Lekce 1

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Překladač a jeho struktura

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

LEKCE 6. Operátory. V této lekci najdete:

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

DBGen v.1.0. Uživatelská příručka v. 1.0

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

WNC::WebNucleatCreator

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

Programování v jazyce JavaScript

VISUAL BASIC. Přehled témat

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

SMETerminal a SMEReader AutoCont CZ a.s.

Střední odborná škola a Střední odborné učiliště, Hořovice

Operační systémy. Cvičení 4: Programování v C pod Unixem

Profilová část maturitní zkoušky 2017/2018

PSK3-9. Základy skriptování. Hlavička

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

ČÁST 1. Základy 32bitového programování ve Windows

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Olga Rudikova 2. ročník APIN

APS Administrator.ST

Kapitola 1 První kroky v tvorbě miniaplikací 11

SYLABUS IT V. Jiří Kubica. Ostrava 2011

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Příprava prostředí pro výuku PHP a MySQL

Operační systémy. Cvičení 1: Seznámení s prostředím

Sada 1 - PHP. 03. Proměnné, konstanty

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Matematika v programovacích

1 Přesun síťového serveru

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Transkript:

}else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin Pokorný Nakladatelství a vydavatelství R Vzdìlávání, které baví www.c-media.cz

Obsah Obsah Vysvětlivky k použitým prvkům v knize... 8 POZNÁMKA AUTORA... 8 Slovo autora... 9 Úvod... 12 Historie internetu... 12 Rozvoj WWW... 13 MOŽNOSTI KOMUNIKACE... 13 PHP NA SCÉNĚ... 17 PROČ POUŽÍVAT PHP?... 18 JAKÝ TYP APLIKACÍ LZE VYTVOŘIT V PHP?... 19 KOMPILOVANÉ A SKRIPTOVACÍ JAZYKY... 19 Instalace Apache, PHP a MySQL... 22 APACHE... 22 MySQL... 24 PHP... 25 PRVNÍ ZKUŠENOSTI... 26 Začínáme s PHP... 26 CO POTŘEBUJETE KE SPOUŠTĚNÍ SKRIPTŮ?... 26 CO JE TO SKRIPT?... 27 A JEŠTĚ JEDNOU CO JE TO TEN SKRIPT?... 28 OHRANIČENÍ SKRIPTU VE STRÁNCE... 28 MŮJ MILÝ DENÍČKU, DNES JSEM POPRVÉ ZAPSAL SKRIPT... 29 CO SE DĚJE FUNKČNĚ?... 30 A DÁLE OBSAHOVĚ?... 30 PHP INFO... 31 KOMUNIKACE S UŽIVATELEM... 32 ZÁKLADNÍ ČÁSTI STRÁNKY... 33 ZÁKLADY PHP... 36 Základní skladba jazyka... 36 PRAVIDLA ZÁPISU... 36 ZOBRAZENÍ ÚDAJŮ V PROHLÍŽEČI... 37 Proměnné... 38 KONVERZE ŘETĚZCŮ... 40 3

4 ($ {< if ($vstup echo }else{ endif; PHP nejen pro začátečníky PROMĚNNÁ CHAMELEON... 41 POZOR NA TYP DOUBLE... 42 PRÁCE S ŘETĚZCI... 42 DALŠÍ FUNKCE PRO PRÁCI S PROMĚNNÝMI... 44 Konstanty... 44 ZAVEDENÍ KONSTANT... 44 Výrazy... 45 ARITMETICKÉ OPERÁTORY... 46 POROVNÁVACÍ OPERÁTORY... 47 LOGICKÉ OPERÁTORY... 49 UNÁRNÍ A TERNÁRNÍ OPERÁTOR... 50 DALŠÍ OPERÁTORY... 50 PRIORITA OPERACÍ... 51 Řídící struktury... 54 VĚTVENÍ PROGRAMU... 54 PŘÍKAZY CYKLU... 63 Práce s poli... 73 INICIALIZACE POLE... 73 PRÁCE S POLEM POMOCÍ FUNKCÍ... 75 VÍCEROZMĚRNÁ POLE... 83 Formuláře... 85 ODESÍLÁNÍ A TVAR POŽADAVKU NA WEBOVÝ SERVER... 85 DEFINICE FORMULÁŘE... 87 ELEMENT INPUT... 87 DALŠÍ PRVKY FORMULÁŘŮ... 93 ZDOKONALENÍ VZHLEDU POUŽITÍM CSS... 96 FORMULÁŘE NEBO FORMULÁŘE?... 97 KONTROLA DAT PŘI VSTUPU NA SERVER... 99 FUNKCE PŘI ZPRACOVÁNÍ DAT FORMULÁŘE... 101 Funkce v PHP... 102 OPAKOVANÉ VYUŽITÍ KÓDU... 102 PŘÍKAZY REQUIRE A INCLUDE... 103 UŽIVATELSKÉ FUNKCE... 106 VESTAVĚNÉ FUNKCE PHP... 117 Práce se soubory... 129 OTEVÍRÁNÍ A ZAVÍRÁNÍ SOUBORŮ... 129 ČTENÍ ZE SOUBORU... 131

Obsah ZÁPIS DO SOUBORU... 133 ZMĚNA AKTUÁLNÍ POZICE V SOUBORU... 134 MANIPULACE SE SOUBORY... 135 Všemocná databáze?... 138 DATABÁZE... 138 KOMUNIKACE S DATABÁZÍ... 145 DATOVÉ TYPY A VYTVÁŘENÍ TABULEK... 150 ÚPRAVY EXISTUJÍCÍCH TABULEK... 157 TESTOVÁNÍ KÓDU SQL... 160 JAZYK DML PRÁCE S DATY... 164 ADMINISTRACE SYSTÉMU... 175 UŽIVATELSKÉ ROZHRANÍ DATABÁZE... 177 PHP s MySQL... 181 FUNKCE PRO KOMUNIKACI PHP S DATABÁZÍ MYSQL... 181 PŘÍKLAD DATABÁZE OTÁZEK... 183 Ladění a ošetřování chyb... 207 DRUHY CHYB... 207 NASTAVENÍ ÚROVNĚ CHYBOVÝCH ZPRÁV... 209 OŠETŘOVÁNÍ CHYB... 213 Objektově orientovaný návrh programu... 216 TŘÍDA A OBJEKT... 217 DĚDIČNOST... 221 Jak se vlastně program tvoří?... 224 PROBLÉMY PROGRAMOVÁNÍ... 224 TESTOVÁNÍ... 226 BEZPEČNOST... 227 5

PHP na scéně historie internetu rozvoj dynamických WWW stránek a možnosti komunikace skriptovací jazyky proč používat PHP a jaké aplikace v něm lze vytvořit Prostředí pro práci s PHP instalace Apache, PHP a MySQL začínáme s PHP co je to skript první fungující skript - PHP info Základy PHP skladba jazyka PHP, konstanty, výrazy, řídicí struktury, funkce práce s poli formuláře za pomoci PHP práce se soubory PHP a databáze MySQL datové typy, tvorba a úprava tabulek v databázi testování kódu SQL, zabezpečení MySQL a jeho administrace uživatelské rozhraní databáze, komunikace PHP s MySQL ladění a ošetřování chyb skriptů Objektově orientovaný návrh programu Problémy a úskalí programování skriptů 1 2 3 4 5 PHP na scéně Skriptovací jazyky Prostředí pro práci s PHP První skripty Základy PHP a praktické kroky při tvorbě skriptů PHP a databáze MySQL Objektově orientovaný návrh programu 7

PHP na scéně JAKÝ TYP APLIKACÍ LZE VYTVOŘIT V PHP? Běžně jsou v PHP vytvářeny různé podnikové informační systémy, diskusní fóra, redakční systémy, internetové obchody, poštovní a databázoví klienti na webu, nejčastějším způsobem použití budou asi stále různé dynamické firemní nebo i soukromé prezentace, počítadla, ankety aj. Důležité je také podotknout, že PHP roste nejen svou číselnou řadou verze a historií, ale především proto, že vývojáři jsou stále odvážnější v mohutnosti aplikací založených na PHP. PHP má tu výhodu, že se dokáže prakticky každému požadavku velice rychle a účinně přizpůsobovat. KOMPILOVANÉ A SKRIPTOVACÍ JAZYKY Podívejme se nyní krátce na způsob zpracování programu. Napíšeme-li zdrojový kód programu například za pomoci programovacího jazyka C, C++, Pascal, pak jej pro uživatele musíme zkompilovat (přeložit) do spustitelného tvaru. Distribuujeme tedy výsledný spustitelný kód - nejspíše.exe tvar. Bude-li si uživatel přát v programu cokoliv změnit, použijeme zazálohované zdrojové kódy programu, do kterých dopíšeme příslušné úpravy, a výsledný kód opět přeložíme do spustitelného tvaru. Tento druh programovacích jazyků, kdy se k uživateli dostává spustitelná podoba programu, nazýváme kompilované. Nyní vezměme v úvahu druhý případ, kdy budeme chtít pro uživatele zpřístupnit program zapsaný pomocí PHP. Opět se jedná o zápis ve zdrojovém tvaru, který musí být zpracován kompilátorem (překladačem) příslušného programovacího jazyka. Jenže v tomto případě je program uchováván přímo ve tvaru zdrojového kódu a teprve v případě vyžádání tohoto skriptu dojde ke spuštění PHP modulu, který daný zdrojový kód projde a zpracuje. Vyvoláme-li stejný skript několikrát po sobě, vždy bude zdrojový kód skriptu znovu zpracováván. Takovéto programovací jazyky nazýváme skriptovací. U obou druhů jazyka bychom mohli najít výhody i nevýhody. U skriptovacích jazyků v prvé řadě asi namítnete, že se požadovaným překladem ze zdrojového kódu prodlužuje čas odezvy programu. V praxi se však jedná většinou o jazyky více či méně související s internetovým světem, tzn. přijde v potaz i doba potřebná ke stahování příslušného spustitelného kódu, který by měl určitě větší velikost než pouhý text zdrojového kódu. Pokud si dále připomenete dnes stále častější a agresivnější virové útoky, pak byste jistotu spíše viděli ve zdrojovém kódu než ve zkompilovaném spustitelném tvaru, který může obsahovat téměř cokoliv. Hlavní rozdíl byste ale měli hledat ve způsobu nasazení jednotlivých druhů programu. Princip činnosti skriptu ve zdrojovém kódu spočívá v získání požadovaných informací, které jsou pak použity ve vygenerované www stránce. Skript tedy vykoná svou činnost a poté se ukončí. Potřebujete-li zadat vstup či pouze aktualizovat výsledky, musí proběhnout celá procedura kompilace znovu, přičemž změna vstupních podmínek skriptu by mohla nastat v hodnotách zadaných vstupních parametrů volaného skriptu. PHP na scéně Skriptovací jazyky Prostředí pro práci s PHP První skripty Základy PHP a praktické kroky při tvorbě skriptů PHP a databáze MySQL Objektově orientovaný návrh programu 19

($ {< if ($vstup echo }else{ endif; PHP nejen pro začátečníky Instalace Apache, PHP a MySQL Popisované instalace budou představeny na u nás nejrozšířenějším operačním systému Windows. Neznamená to však, že Windows jsou původní podhoubí, ze kterého se PHP šíří dále. Právě naopak. Hlavní větev pochází ze světa unixového a Windows je jedna z odboček. Zarytí linuxáři teď jistě dodali a slepých. Pokud ale využíváte jako operační systém třeba některé z distribucí Linuxu, pak vám Apache, PHP a MySQL nebudou cizí a víte jak je spustit. Kromě toho lze využít řady webových stránek, které vás navedou správným směrem. APACHE Ze začátku zřejmě nebudete chtít experimentovat s nastavením. Proto doporučuji využít zkompilovanou exe verzi Apache pro Windows. Získat ji můžete například na domovském serveru projektu Apache http://www.apache.org. Instalace probíhá standardním způsobem instalace běžných aplikací pro Windows. Výchozím adresářem k instalaci bývá nastavení C:\Program Files\Apache Group\Apache. Před samotnou instalací pak dostáváte možnost rozhodnout o nainstalovaných součástech Apache, zdrojové kódy, manuály. Samotnou konfiguraci serveru provedete po úspěšné instalaci úpravou konfiguračního souboru httpd.conf, k čemuž se ještě dostaneme. Samotné spuštění serveru Apache můžete provést dvěma různými způsoby. Základní možnost startu spočívá ve spouštění přes konzolové okno. Tato možnost je nutná pro Windows 95/98 a jedna z možných pro Windows NT a výše. U skupiny vyšších verzí Windows pak lze využít i spouštění Apache jako služby. Konzolové okno Apache se spustí přes položku Start Apache z menu Start, nebo přímým vyhledáním a spuštěním souboru Apache.exe ve vaší instalaci. Okno Apache musí zůstat otevřené nedokáže běžet na pozadí. Zastavení Apache pak lze logicky provést třeba jen pomocí zavření tohoto okna, popř. využitím kombinace kláves Ctrl+C. 22

($ {< if ($vstup echo }else{ endif; PHP nejen pro začátečníky if($a>0 $b>0) // výsledek true echo <br>obě proměnné jsou kladné. ; if(($a>0 && $b>0) xor (!$a)) // výsledek true echo <br>obě proměnné \$a a \$b jsou kladné nebo \$a je nula. ; $b=0; if($b!=0 && $a/$b) // výsledek false echo <br>proběhlo dělení ; else echo <br>nemusíte se bát, dělení nulou je hlídáno. ;?> UNÁRNÍ A TERNÁRNÍ OPERÁTOR Prozatím jsme se zabývali především operátory binárními neboli operátory, které pro své vyhodnocení vyžadují dva operandy. Unární operátor už zde však byl také zmíněn. Je jím například operátor negace (!$a). Operátor! vyjadřuje opačnou logickou hodnotu, než má jeho operand. Jiným příkladem může být operátor minus (-), který funguje jak pro verzi dvou operandů (binární operátor), tak pro verzi jednoho operandu (unární operátor). $a = -4; $b = -$a; // b = 4 Ternární operátor, nebo také podmíněný výraz, existuje v PHP jediný. Ternární operátor provádí jednu operaci se třemi operandy. Používá k tomu operátor složený ze dvou znaků?:. První částí je logická podmínka zapsaná před znakem?, podle níž se rozhoduje o výsledku. Když bude výsledkem vstupní podmínky true, bude výsledkem operace hodnota zapsaná za otazníkem a před dvojtečkou. Bude-li výsledkem vstupní podmínky false, pak bude výsledkem celé operace hodnota zapsaná za dvojtečkou. Základní skladba výrazu vypadá následovně: výraz_podmínka? výraz_1 : výraz_2 <!-- 021.php --> $x = 2; $y = 5; $vysledek = ($x > $y)? 10 : 20; echo <br>výsledkem je: $vysledek ; // Výsledkem je 20?> Závorky kolem podmínky nejsou nutné, ale zvyšují čitelnost tohoto výrazu. S podmíněným výrazem se dnes setkáte již málo, neboť jej lze velice jednoduše nahradit konstrukcí if-else, která je mnohem čitelnější. DALŠÍ OPERÁTORY Zde se seznamte se 50