Upozornění pro čtenáře a uživatele této knihy

Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována ani šířena v papírové, elektronické či jiné podobě bez předchozího písemného souhlasu nakladatele. Neoprávněné užití této knihy bude trestně stíháno.

Marek Laurenčík

Tvorba www stránek v HTML a CSS

Vydala Grada Publishing, a.s.

U Průhonu 22, Praha 7

obchod@grada.cz, www.grada.cz

tel.: +420 234 264 401, fax: +420 234 264 400

jako svou 7289. publikaci

Spoluautor Michal Bureš

Odpovědný redaktor Petr Somogyi

Sazba Petr Somogyi

Formát ePub Štěpán Böhm

Ikony Freepik (www.flaticon.com)

Počet stran 224

První vydání, Praha 2019

Vytiskly Tiskárny Havlíčkův Brod, a. s.

© Grada Publishing, a.s., 2019

Cover Design © Grada Publishing, a. s., 2019

Cover Photo © Depositphotos/fraeje

Názvy produktů, firem apod. použité v knize mohou být ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků.

ISBN 978-80-271-2559-3 (ePub)

ISBN 978-80-271-2946-1 (pdf )

ISBN 978-80-271-2241-7 (print)

Předmluva

Tato kniha pojednává o tvorbě webových stránek. V současné době zahrnuje tato práce činnosti z několika oblastí. Doba, kdy tvůrci webových stránek stačilo ovládat jazyk HTML a práci s kaskádovými styly, již patří minulosti. Moderní přístup ke tvorbě webu vyžaduje využití databáze, což vyžaduje ovládání základů jazyka SQL. Pro spojení databáze s webovou stránkou ovšem musíte ovládat aspoň základy jazyka PHP, pro tvorbu dynamických webových stránek se tvůrce zase neobejde bez základů dalšího programovacího jazyka – Javascriptu.

Jedná se o značně širokou oblast témat, jejíž jednotlivé složky jsou mnohdy uváděny odděleně. Cílem této knihy je představit základy všech pěti oblastí využívaných při tvorbě webových stránek: jsou to jazyk HTML, kaskádové styly CSS, práce s databází My SQL a základy jazyka SQL, úvod do dvou uvedených programovacích jazyků: Javascriptu a PHP. Přitom je samozřejmě kladen důraz i na jejich vzájemné souvislosti.

Rozsah knihy samozřejmě neumožňuje podat u všech pěti oblastí látku do hloubky. Týká se to zejména posledních dvou kapitol zabývajících se programováním. To však ani nebylo naším cílem. Studijního materiálu o Javascriptu a PHP je k dispozici poměrně dost a tato kniha by měla posloužit jak pro zvládnutí základních a nejčastěji používaných programovacích postupů, tak se stát dostačujícím úvodem pro seznámení se s pokročilými programovacími postupy.

Kniha je určena především pro čtenáře, kteří s tvorbou webových stránek začínají, a měla by jim umožnit od začátku přistupovat k této práci v plné komplexnosti. Užitečná může být i pro všechny, kdo již s webovými stránkami nějaké zkušenosti mají a chtěli by si své znalosti rozšířit a prohloubit.

V knize jsme použili následující typografické konvence:

■Kód HTML, stylů CSS a jazyků SQL, Javascript a PHP je psán neproporčním písmem.

■Příkazy v programech a názvy adresářů jsou zvýrazněny tučně.

■Názvy kláves jsou odlišeny pomocí KAPITÁLEK.

Ať se Vám daří!

Autoři

1Úvod

Celosvětová internetová síť propojuje dva základní druhy počítačů:

■servery, které uchovávají a nabízejí dokumenty s informacemi,

■klienty, které tyto dokumenty přejímají, zobrazují a nabízejí uživatelům.

Internet byl od počátku vyvíjen jako prostředek zcela nezávislý na počítačovém vybavení na straně klienta, internetové dokumenty proto mohou obsahovat pouze text. Všechny obrázky, fotografie a další grafické objekty musí být uloženy v samostatných souborech a internetový dokument se na tyto soubory odvolá pomocí odkazů.

Zobrazování internetového dokumentu na straně klienta zajistí webový prohlížeč. Jedním z nich je Microsoft Internet Explorer, který je součástí operačního systému Windows. Jiné často používané prohlížeče (Firefox, Google Chrome, Edge, Opera apod.) lze bezplatně nainstalovat z řady webů.

Správné zobrazení internetového dokumentu v prohlížeči zajistí řídicí příkazy pro práci prohlížeče, které se píší v jazyku HTML (Hypertext Markup Language). Takto vytvořený dokument má příponu HTM nebo HTML. Soubor typu HTML se často označuje také jako webová stránka. Součástí každého souboru HTML je rovněž formátování zobrazovaného textu. To je možné provést dvěma způsoby:

■údaje o vzhledu písma, odstavce apod. zapsat přímo pomocí příkazů jazyka HTML,

■zapsat informace o formátování odděleně pomocí nástroje zvaného „styly“ a v jazyku HTML se na vytvořené styly odvolávat.

Současným trendem při tvorbě webových stránek je přesouvat co nejvíce formátovacích informací do stylů.

Kromě jazyka HTML se k tvorbě webových stránek často používají programovací jazyky JavaScript a PHP. JavaScript provádí kód na straně klienta a umožňuje oživit webové stránky dynamickými efekty. Jazyk PHP obsahuje nástroje pro webové stránky, prováděné na straně serveru. Prostředky jazyka PHP umožňují například měnit obsah webové stránky podle různých podmínek, odesílat e-mailové zprávy a komunikovat s databází, v níž jsou uchovány informace pro tvorbu webových stránek.

1.1Soubory tvořící webové stránky

Pojmem „webové stránky“ nebo „web“ se označuje série dokumentů od jednoho autora nebo firmy, nabízených veřejnosti na straně serveru. Každý web obsahuje zpravidla následující soubory:

■Soubor s názvem index. Jedná se o úvodní stránku celého webu, která se při připojení na web zobrazí každému návštěvníkovi jako první. Soubor index musí být umístěn v kořenovém adresáři, který obsahuje publikované webové stránky.

■Další soubory, tvořící vlastní webové stránky.

■Obrázky a další grafické soubory.

■Soubory typu PDF, které lze prohlížet pomocí programu Acrobat Reader.

■Soubory typu CSS: tyto soubory nemají vlastní obsah, ale obsahují definice použitých stylů. Použitím souborů CSS dosáhneme toho, aby byl vzhled celého webu jednotný.

■Podle potřeby mohou webové stránky obsahovat také dokumenty Wordu, sešity Excelu nebo jiné soubory, které jsou zpravidla určeny ke stažení ze serveru do počítače na straně klienta.

1.2Postup při tvorbě webových stránek

Tvorba webových stránek má zpravidla následující fáze:

■Příprava obsahu stránek (tedy textů, obrázků, tabulek apod.).

■Návrh rozvržení webu a jeho logiky.

■Tvorba úvodní stránky (index) a ostatních stránek včetně programového kódu.

■Příprava souborů se styly (CSS) pro jednotné formátování webu.

Pro přípravu webových stránek budeme potřebovat následující programové vybavení:

■Program pro editaci souborů HTML. Protože se jedná o textové soubory, můžete je vytvářet i v Poznámkovém bloku. Lepší je však použít některý z editoru HTML, které barevně odlišují jednotlivé části kódu – práce s nimi je pohodlnější. Mezi často používané programy tohoto druhu patří například program PsPad (je k dispozici v češtině a bezplatně na webech jako Stahuj, Kopretina apod.).

■Program pro práci s grafickými soubory. Můžeme použít libovolný z programů, jež umožňují úpravu obrázků: změnu rozměrů, změnu typu souboru (přípony), zesvětlení obrázku.

■Několik webových prohlížečů. Kód HTML není ve všech webových prohlížečích interpretován zcela stejně. Totéž platí i pro styly. Výsledkem je, že jeden a týž soubor může mít v různých prohlížečích poněkud odlišný vzhled. Největší rozdíly jsou mezi MS Internet Exporerem a ostatními prohlížeči, avšak ani další často používané prohlížeče nefungují ve všem zcela stejně. Proto je nutné připravované webové stránky vyzkoušet v různých prohlížečích (například Google Chrome, FireFox, Opera, Edge atd.).

1.3Struktura webu a názvy souborů

Tvorbu webu a jeho zkoušení provádíme zpravidla nejprve na lokálním počítači. Vytvářený web umístíme do samostatného adresáře. Aby byla jeho struktura přehledná, je vhodné využívat podsložky (umístíme do nich napříkald obrázky, soubory PDF, soubory stylů CSS či další soubory). Na webovém serveru potom vytvoříme přesně stejnou strukturu.

Webové servery využívají operační systém Unix, který používá odlišná pravidla než operační systém Windows:

■nepřipouští názvy s českou diakritikou, mezerami, čárkami a podobnými znaky,

■v názvech rozlišuje malá a velká písmena,

■při zápisu cest k souborům se používá obyčejné (nikoliv zpětné) lomítko.

Všechny názvy souborů a podsložek v adresáři s webem proto upravíme, aby obsahovaly jen:

■malá písmena abecedy bez písmen s háčky a čárkami,

■číslice,

■pomlčku a podtržítko.

Tyto zásady je nutné důsledně dodržovat i při přípravě webu na lokálním disku. Jejich nedodržení může vést k tomu, že například odkaz na špatně pojmenovaný obrázek bude na lokálním disku fungovat, ale na webovém serveru již nikoliv.

1.4Publikování webu

Vytvořené webové stránky je třeba zpřístupnit veřejnosti. Provedeme to ve třech krocích:

1.Registrace domény – tímto krokem si zarezervujeme jedinečný název, pod nímž budou webové stránky nabízeny uživatelům. Poslední část názvu (přípona) může být národní (cz) nebo mezinárodní (eu, com apod.). Registraci domén provedeme pomocí internetu, cena za doménu se pohybuje řádově ve stovkách korun za rok.

2.Objednání webhostingu – jedná se o pronájem diskové plochy na webovém serveru, který zpřístupní webové stránky ostatním uživatelům. Pronájem provedeme opět pomocí internetu, a to bezplatně, nebo za poplatek. Bezplatný webhosting nabízí méně služeb než placený (například využívání databáze je omezené).

3.Překopírování webových stránek a dalších potřebných souborů na webový server – tento přenos se provede pomocí protokolu FTP (File Transfer Protocol) a je podrobně popsán dále.

1.5Kopírování souborů na webový server

Pro kopírování potřebných souborů na webový server využijeme internet, spuštěný pod protokolem FTP. Na rozdíl od běžně používaného protokolu HTTP neumožňuje soubory na webovém serveru prohlížet, umožňuje však s nimi pracovat obdobným způsobem jako programy Průzkumník nebo Tento počítač (tedy soubory kopírovat, mazat, vytvářet nové složky apod.).

Obrázek 1.1 Přihlašovací okno v protokolu FTP

Pro přístup na webový server, kde budou umístěny vytvořené webové stránky, potřebujeme adresu webového serveru, přihlašovací jméno a heslo. Tyto informace sděluje provozovatel webového serveru po objednání webhostingu, zpravidla je pošle e-mailem.

Při práci s webovým serverem postupujeme takto:

1.Spustíme program Tento počítač.

2.Do adresní řádku zapíšeme adresu webového serveru včetně protokolu (například ftp://www.server.cz).

3.V zobrazeném okně vyplníme přihlašovací jméno a heslo.

4.Klepneme na tlačítko Přihlásit se.

V okně programu Tento počítač se zobrazí přidělená plocha na webovém serveru.

Pohodlnější práci s protokolem FTP nabízejí některé programy pro práci se soubory, napříkald Total Commander. Z internetu si můžeme bezplatně stáhnout i programy určené přímo pro práci s protokolem FTP, například program FileZilla.

2Tvorba kódu HTML

Webová stránka, zapsaná v kódu HTML, se skládá ze dvou částí: textů, které budou na webové stránce zobrazeny, a řídicích příkazů jazyka HTML, označovaných jako elementy (někdy se také používá název tagy).

Při tvorbě webové stránky si je třeba uvědomit, že všechny texty, které do webové stránky zapíšeme, slouží pouze jako informace pro webový prohlížeč. Způsob, jak prohlížeč v okně webové stránky zobrazí, můžeme ovlivnit jedině použitím některého elementu jazyka HTML. Při zobrazování zapsaného textu platí tato pravidla:[1]

■Prohlížeč ignoruje všechny přechody na nový řádek, tedy znaky ENTER.

■Prohlížeč nezobrazí prázdné řádky.

■Mezera je chápána jako oddělovač mezi slovy, nikoliv jako znak. Několik mezer se tedy zobrazí jako jediná mezera.

■Tabulátory se interpretují jako jedna mezera.

Tyto zásady jsou pochopitelné, protože prohlížeč musí zobrazovaný text přizpůsobit počítači, na kterém se webové stránky spustí (tedy grafické kartě a rozlišení, nastaveném na monitoru). Stejný odstavec textu může na různých počítačích zabrat různý počet řádků.

Z toho ovšem plyne určitá nepříjemnost, protože odsunutí textu doprava pomocí mezer nebo tabulátorů není možné a rozmístění textu na stránce musíme provést zcela jinými prostředky.

Co se stane, pokud se při psaní kódu HTML dopustíme chyby? Většina programovacích jazyků včetně jazyka PHP se chybnému zápisu vzepře, ohlásí chybu a odmítne dále pokračovat. Webové prohlížeče však žádnou chybu kódu neohlásí a pokusí se stránku za každou cenu zobrazit. Výsledek může být ovšem poněkud podivný. Musíme si zkrátka zvyknout na to, že se při tvorbě webových stránek naplno uplatňuje stará moudrost „programátor dělá, co umí, počítač si dělá, co chce“.

2.1Elementy jazyka HTML

Elementy jazyka HTML se uzavírají do znaků < a >, mezi které napíšeme identifikační kód zvoleného elementu. V jazyku HTML se rozlišují dva typy elementů:

■Párové elementy zahrnují nějaký obsah, především text. U těchto elementů je nutné vyznačit i konec jejich platnosti. Provedeme to pomocí koncového elementu, který se zapíše stejně jako počáteční element, ale před kód elementu zapíšeme lomítko.

■Nepárové elementy obsah nezahrnují a v dokumentu HTML stojí samostatně, bez koncového elementu.

U řady elementů je zapotřebí uvést další informace, potřebné pro jeho správnou funkci. Proto má většina elementů k dispozici řadu atributů, kterým přiřadíme potřebnou hodnotu. Provedeme to pomocí rovnítka, za kterým následuje hodnota zapsaná v uvozovkách. Atribut i s hodnotou zapíšeme dovnitř elementu mezi znaky < >, od kódu elementu jej oddělíme mezerou.

Jeden element může obsahovat i více atributů, které od sebe oddělíme opět mezerou. Jestliže element obsahuje více atributů, můžeme je napsat v libovolném pořadí. Na prvním místě mezi znaky < > však musí být vždy kód elementu.

Řada atributů má některou možnou hodnotu definovánu jako výchozí. Pokud tento atribut v elementu vynecháme, použije se tato výchozí hodnota.

Jak jsme si uvedli, webové prohlížeče ignorují všechny přechody na nový řádek. Proto můžeme elementy psát na samostatnou řádku nebo do jedné řádky společně se zahrnutým textem. Na dva řádky je možné rozdělit i samotný element. Rozdělení elementu na dva řádky je vhodné zejména v případě, kdy obsahuje více atributů a jeho text je dlouhý.

Při interpretaci kódu zapsaného jazykem HTML webové prohlížeče zpravidla nerozlišují malá a velká písmena. Pro korektní zápis kódu však platí zásada, že počáteční i koncový element by měl být napsán stejně, tedy buď malými, nebo velkými písmeny.

Webové prohlížeče se zpravidla dokážou vyrovnat i s nekorektnostmi v zapsaném kódu. Na to bychom však neměli hřešit. Vývoj webových prohlížečů sice směřuje na jedné straně k stálé širším možnostem, ale na druhé straně se mohou zvyšovat požadavky prohlížečů na korektnost zapsaného kódu.

Obecný tvar kódu HTML s párovým a nepárovým elementem tedy vypadá takto:

<element1 atribut="hodnota">

Vnořený text

</element1>

<element2 atribut1="hodnota1" atribut2="hodnota2">

Párové elementy je možné do sebe vnořovat a vytvářet tak hierarchii do více úrovní. Přitom musíme důsledně dbát na to, aby se vnoření nekřížilo. Element, který otevřeme jako první, musíme vždy uzavřít jako poslední.

Obrázek 2.1 Vnořování elementů

Konec ukázky

Table of Contents

Tiráž

Předmluva

1 Úvod

1.1 Soubory tvořící webové stránky

1.2 Postup při tvorbě webových stránek

1.3 Struktura webu a názvy souborů

1.4 Publikování webu

1.5 Kopírování souborů na webový server

2 Tvorba kódu HTML

2.1 Elementy jazyka HTML

2.2 Tvorba textu

2.3 Tvorba seznamů

2.4 Obrázky, multimédia a grafické efekty

2.5 Hypertextové odkazy

2.6 Tvorba tabulek

2.7 Formuláře pro zadávání dat

3 Kaskádové styly

3.1 Použití stylů na webové stránce

3.2 Formátování textu

3.3 Formátování odstavce

3.4 Formátování hypertextových odkazů, seznamů a obrázků

3.5 Formátování tabulek

3.6 Práce s bloky

3.7 Praktické použití bloků

3.8 Tvorba nabídek

3.9 Tvorba vrstev

3.10 Formátování formulářů

4 Databázový systém MySQL

4.1 Vytvoření nové tabulky a její struktura

4.2 Práce s tabulkami

4.3 Jednoduchý příkaz SELECT

4.4 Filtrace

4.5 Využití regulárních výrazů

4.6 Výpočty a standardní funkce

4.7 Spojování více tabulek

4.8 Sjednocovací dotazy

4.9 Tvorba souhrnů

4.10 Poddotazy

4.10.2 Sloupcové poddotazy

4.11 Akční dotazy

4.12 Údržba databáze

4.13 Tvorba vlastních funkcí

5 Úvod do JavaScriptu

5.1 Základy jazyka

5.1.8 Psaní vlastních funkcí

5.2 Dialogová okna JavaScriptu

5.3 Práce s poli a cykly

5.4 Práce s texty

5.5 Práce s kalendářním datem a časem

5.6 Události a časování

5.7 Otvírání oken

5.8 Práce s cookies

5.9 Práce s obrázky

5.10 Kód ve formuláři

5.11 Dynamické nastavení vzhledu stránky

6 Úvod do jazyka PHP

6.1 Tvorba kódu

6.2 Programové konstrukce

6.3 Použití funkcí

6.4 Práce s poli

6.5 Práce s texty a regulárními výrazy

6.6 Práce s kalendářními a časovými hodnotami

6.7 Komunikace kódu s okolím

6.8 Zpracování údajů z formuláře

6.9 Použití databáze MySQL

6.10 Tvorba nabídek