Kapitola 5 Dynamický obsah načítaný



Podobné dokumenty
Co je HTML. 1. Párový tag má začátek a konec: 2. Nepárový tag nemá ukončovací značku:

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

FFUK Uživatelský manuál pro administraci webu Obsah

Mgr. Vlastislav Kučera přednáška č. 2

HTML - Úvod. Zpracoval: Petr Lasák

Tvorba fotogalerie v HTML str.1

MODERNÍ WEB SNADNO A RYCHLE

Martin Mikuľák. Programujeme WWW stránky pro úplné začátečníky

Jak vytvořit nebo předělat vlastní motiv pro SunLight CMS

TNPW1 Cvičení aneta.bartuskova@uhk.cz

Manuál pro obsluhu Webových stránek

Inovace výuky prostřednictvím šablon pro SŠ

Django Urls, views, templates

Kapitola 11: Formuláře 151

Uživatelská příručka

Vytvoření tiskové sestavy kalibrace

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse

Návod na použití univerzitní aplikace

Internetové technologie, cvičení č. 5

Tvorba WWW stránek. Mojmír Volf

SEO v CeSYSu. CeSYS manuál pro uživatele

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

Mgr. Vlastislav Kučera lekce č. 2

HTML Hypertext Markup Language

Kontakty (Lidé) OKNO KONTAKTY (LIDÉ) Seznam kontaktů najdeme v sekci Lidé nalevo ve spodní části Outlooku mezi nabídkami Pošta, Kalendář a Úkoly.

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Nová struktura souborů a složek

IE1 jazyk HTML a kaskádové styly

Základy HTML. Autor: Palito

Nápověda aplikace Patron-Pro

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

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

IE1 jazyk HTML a kaskádové styly

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

Návod na velmi jednoduchý import z XLS souboru včetně atributů

WWW a HTML. Základní pojmy. Ivo Peterka

MS Word 2007 Šablony programu MS Word

ZSF web a intranet manuál

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

soubor dat uspořádaných do řádků a sloupců

Lokality a uživatelé

Mgr. Vlastislav Kučera Struktura stránky, hlavička,

Microsoft Office. Word hromadná korespondence

PHP a Large Objecty v PostgreSQL

Nástrojová lišta v editačním poli

Nahrání webu na internet

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

Jak vznikala webová aplikace kolonizace.asp2.cz

Hromadná korespondence

Tvorba webu. Úvod a základní principy. Martin Urza

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

<link> - definuje vztah k jiným XHTML dokumentům, typicky

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

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

CSS. SEO Search Engine Optimization (optimalizace pro vyhledávače)

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access propojení relací s formuláři a sestavami Ing.

MS Word 2007 Elektronické formuláře

II. Elektronická pošta

Depozitář 2 manipulace s předměty

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Manuál: Editace textů v textovém editoru SINPRO Úprava tabulek a internetových odkazů, řádkování

Uživatelská příručka 6.A6. (obr.1.)

Zadání grafického designu Trh poptávek

Stránka se dá otevřít dvěma způsoby

Gabriela Janská. Středočeský vzdělávací institut akademie J. A. Komenského

Tvorba webových stránek na google Sites (4.)

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

Přihlášení k webmailu a jeho nastavení

Individuální projekt z předmětu webových stránek 2012/ Anketa

Uživatelská příručka pro ředitele škol

1. Základní pojmy, používané v tomto manuálu. 2. Stránky

Název Live prez Sear enta Maps

1 Webový server, instalace PHP a MySQL 13

Tvorba webových stránek na google Sites (1.)

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Pro úspěšné zvýšení návštěvnosti a dosažení předních pozic ve vyhledávačích provedeme nejdříve jednoduchou "SEO ANALÝZU WEBOVÉ PREZENTACE.

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Jak spojit fotografie, mapy a údaje z GPS?

Obrázek 1: Struktura programu z hlediska zapojení

Microsoft Word - Styly, obsah a další

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

NSWI096 - INTERNET. Úvod do HTML

Evidence Popis aplikace QUANTUM a.s. Verze pro OS Android

Změna formuláře při výběru kompetencí (odborných dovedností) 1. Hledání textové formulace kompetence - odborné dovednosti

Modul zásoby - Tvorba cen a cenových akcí v *8747 Materiál pro samostudium +1420

Návod na používání Digitálního povodňového plánu povodňové komise

Postup: Nejprve musíme vyplnit tabulku. Pak bude vypadat takto:

Martin Mikuľák. Programujeme WWW stránky pro úplné začátečníky

================================================================================ =====

Formátování pomocí stylů

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

Uživatelský manuál.

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

Správa obsahu webové platformy

MS SQL Server 2008 Management Studio Tutoriál

Webové stránky. 4. Tvorba základní HTML webové stránky. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Modul Zásoby IQ sestavy a jejich nastavení Materiál pro samostudium +1170

Transkript:

Dynamický obsah načítaný z databáze Kapitola 5 Dynamický obsah načítaný z databáze 5 Když už víme, jak vytvořit novou databázi a jak v ní vytvořit tabulky pro ukládání informací, můžeme přistoupit k dalšímu kroku. Vytvoříme novou databázi, v které prozatím vytvoříme tabulku, kde budeme uchovávat obsah naší stránky jednotlivé texty a další informace, jež k nim patří. K dynamickému zobrazování obsahu na našich stránkách budeme používat následující postup: 1. Hlavním souborem našich stránek bude i nadále soubor index.php. Jednotlivé stránky našeho testovacího webu budou mít stále formát index.php?page=nazev-textu. 2. Soubor index.php zavolá soubor nacti-obsah.php. 3. Tento soubor se připojí k databázi a nechá si z ní poslat záznam s požadovaným textem. Který text chce uživatel zobrazit, zjistí z parametru page z URL adresy aktuální stránky. 4. Soubor nacti-obsah.php připraví celou obsahovou část (texty), která se na stránce bude používat nadpis stránky (ve značce <title>), texty pro metaznačky pro klíčová slova a metapopis a samotný text. Všechny tyto obsahové části stránky se uloží do příslušných proměnných. 5. V souboru index.php pak tyto proměnné pouze dosadíme na odpovídající místa a dynamické načítání obsahu z databáze je hotové. Pro lepší pochopení celého systému fungování si pořádně prohlédneme obrázek 5.1. index.php <title> </title> <meta name= description content= /> <meta name= keywords content= /> <h3> </h3> priprav-obsah.php $title $metapopis $klicovaslova $nazev $text databáze... Obrázek 5.1 Schéma fungování dynamického zobrazování obsahu braného z databáze DYNAMICKÝ OBSAH NAČÍTANÝ Z DATABÁZE 125

Vytvoření databáze a tabulky pro texty Nejdříve musíme připravit novou databázi, ve které budeme mít všechny tabulky naši testovací dynamické webové aplikace. Zobrazme si prostředí PHPMyAdmin pro správu databází načtením stránky http://localhost/phpmyadmin. Vytvoříme novu databázi se jménem dynamicka. V ní postupně vytvoříme všechny další tabulky, které budeme používat. Vytvořme si novou tabulku se jménem texty a s následujícími sloupci: idtextu: INT, UNSIGNED, AUTO_INCREMENT, nazev: VARCHAR(100), utf8_czech_ci nebo utf8_slovak_ci, urlnazev: VARCHAR(100), utf8_czech_ci nebo utf8_slovak_ci, UNIQUE, klicovaslova: VARCHAR(100), utf8_czech_ci nebo utf8_slovak_ci, metapopis: VARCHAR(255), utf8_czech_ci nebo utf8_slovak_ci, text: TEXT, utf8_czech_ci nebo utf8_slovak_ci. Poznámka: U pole urlnazev jste použili možnost UNIQUE, protože každý text musí mít přiřazen unikátní název, který se bude používat jako atribut page v URL adrese stránky. Do této tabulky teď vložíme následující záznamy: Tabulka 5.1 Nejdříve si musíme připravit tabulku s daty, která budeme brát z databáze idtextu nazev urlnazev klicovaslova metapopis text 1 Úvodní stránka 2 O nás o-nas testovací aplikace index úvod Úvodní stránka testovacích stránek Podstránka, kde se dočtete něco o nás 3 Kontakt kontakt kontakt Kontaktujte nás prostřednictvím formuláře, který jsme sami vytvořili Skript pro přípravu textů Vítejte na naší úvodní stránce! Předěláváme statické stránky na dynamické. Můžete nás kontaktovat přes tento formulář: Tabulku, ze které budeme brát požadované texty, máme připravenou. Teď musíme připravit skript, který se připojí k naší databázi. Použijeme prakticky stejný skript pripojeni.php jako v předešlé kapitole. Změníme pouze název databáze, ke které se budeme připojovat, na dynamicka. 126 KAPITOLA 5 DYNAMICKÝ OBSAH NAČÍTANÝ Z DATABÁZE

$databaza= dynamicke ; Skript pripojeni.php najdeme v adresáři C:\xampp\htdocs\kniha\05\. Teď se podívejme přímo na celý skript priprav-obsah.php (v adresáři C:\xampp\htdocs\ kniha\05\), který připraví texty, jež pak jednoduše zobrazíme na stránce v souboru index.php: <?php require pripojeni.php ; Nejdříve se standardně připojíme k databázi. $php=trim(htmlspecialchars(strip_tags($_get[ page ]))); Do proměnné $php si uložíme bezpečnostně ošetřený parametr page z URL adresy. if($php== ) { $php= index ; }; Pokud má URL adresa stránky tvar http://localhost/kniha/05/index.php?page=o-nas, je vše v pořádku a v proměnné $php máme uloženu hodnotu, kterou budeme hledat v tabulce text ve sloupci urlnazev. Co když se však zobrazí úvodní stránka, která nemá parametr page nastaven? Tuto stránku bychom mohli přesměrovat na adresu http://localhost/kniha/05/index.php?page=index, ale my použijeme elegantnější řešení. Pokud parametr page není nastaven, nastavíme proměnné $php hodnotu index, která se pak bude hledat v tabulce texty. $dotaz= SELECT * FROM texty WHERE urlnazev=.$php. ; Z databáze si necháme vybrat všechna data patřící k požadovanému záznamu. $vysledek=mysql_query($dotaz); $zaznam=mysql_fetch_array($vysledek); V proměnné $zaznam teď máme uloženy všechny informace o požadovaném záznamu. $nazev=$zaznam[ nazev ]; $text=$zaznam[ text ]; $klicovaslova=$zaznam[ klicovaslova ]; $title=$zaznam[ nazev ]. Programování WWW stránek pro začátečníky ; $metapopis=$zaznam[ metapopis ];?> Nakonec naplníme všechny potřebné proměnné hodnotami z databáze. Podívejme se teď na skript index.php. Budeme používat pouze jeden skript, protože v případě našich testovacích stránek bude menu i hlavička vypadat vždy stejně, proto nemusí být uloženy v samostatných souborech. Stačí když změnu provedeme v souboru index.php a změny se projeví na všech podstránkách webu. Teď se podíváme na soubor index.php. Vycházíme v něm ze souboru index.php, který jsme použili v první kapitole. Proto máme prakticky celou stránku v jediném souboru a nevoláme soubory hlavicka.php, menu.php ani paticka.php. Jak uvidíme, při dynamickém načítání obsahu z databází to není potřeba. SKRIPT PRO PŘÍPRAVU TEXTŮ 127

<?php session_start(); require priprav-obsah.php ;?> Nejdříve si připravíme texty, které později použijeme na stránce. Již jsme si řekli, co přesně dělá a jak funguje soubor priprav-obsah.php. <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd > <html xmlns= http://www.w3.org/1999/xhtml > <head> <meta http-equiv= Content-Type content= text/html; charset=utf-8 /> Tato část kódu je pro všechny podstránky stejná. Definujeme v ní pouze formální záležitosti jako kódování apod. <title><?php echo $title;?></title> Do značky pro název stránky vypíšeme hodnotu proměnné $title, kterou jsme si připravili již v souboru priprav-obsah.php. <style type= text/css media= all >@import css/style.css ;</style> <link rel= shortcut icon href= images/favicon.ico /> <meta name= robots content= index,follow /> <meta name= description content= <?php echo $metapopis;?> /> <meta name= keywords content= <?php echo $klicovaslova;?> /> Stejným způsobem naplníme i obsah metaznaček pro klíčová slova a metapopis stránky. </head> <body> <div id= obalstranky > <div id= hlavicka > <div id= logo > <a href= index.php /><img src= obrazky/logo.png /></a> Jak vidíme, odkaz z loga stránek odkazuje na stránku index.php bez parametru page. I proto jsme v souboru priprav-obsah.php použili podmínku, která nastavila proměnné $php hodnotu index v případě, kdy nebyl parametr page nastaven. <div id= nadpisy > <h1>programování WWW stránek pro úplné začátečníky</h1> <h2>...a statické stránky se změní na dynamické</h2> <div id= stred > <div id= levysloupec > <div id= menu > <a href= index.php ><div class= menulink > Domů</a> 128 KAPITOLA 5 DYNAMICKÝ OBSAH NAČÍTANÝ Z DATABÁZE

<a href= index.php?page=o-nas > <div class= menulink >O nás</a> <a href= index.php?page=kontakt > <div class= menulink >Kontakt</a> Menu používáme na každé podstránce našich ukázkových stránek stejné, takže stačí, když případné změny provedeme zde. Jak vidíme, na jednotlivé podstránky (s výjimkou úvodní, hlavní stránky) odkazujeme prostřednictvím URL adresy s parametrem page. <div id= obsah > <h3><?php echo $nazev;?></h3> Mezi značky <h3> a </h3> vypíšeme název aktuálního textu. <p><?php echo $text;?></p> Poté vypíšeme samotný text. <?php if($_get[ page ]== kontakt ){ require kontakt.php ; };?> Nakonec (pokud jsme na stránce s kontakty) zavoláme skript kontakt.php, který již velmi dobře známe z třetí kapitoly. Poznámka: Když chcete, aby byl skript funkční a reálně odesílal e-maily, musíte změnit definice přístupů k e-mailovému účtu, z něhož budete e-maily odesílat. Definice musíte změnit v souboru kontakt.php na řádcích 60, 61, 63 a 65. Pokud chcete odesílat e-maily z jiného hostitele, jako je gmail. com, změňte i jeho definici na řádku 59. Pak už bude formulář plně funkční. <div id= paticka > Ukázka ke knize: <strong>programování WWW stránek pro úplné začátečníky</strong> </body> </html> Konec souboru index.php obsahuje pouze patičku, která se také nikdy nemění a je pro každou stránku stejná. Jak to funguje? Přejdeme do adresáře C:\xampp\htdocs\kniha\ts\ a smažeme všechny soubory v tomto adresáři. Neporušené ponecháme pouze adresáře css a obrazky a jejich obsah. JAK TO FUNGUJE? 129

Teď do tohoto adresáře (C:\xampp\htdocs\kniha\ts\) nakopírujme soubory index. php, pripojeni.php, priprav-obsah.php, kontakt.php, class.phpmailer.php a class.smtp.php z adresáře C:\xampp\htdocs\kniha\05\. Díky těmto krokům se naše testovací stránky dostanou na novou úroveň. Nyní si zobrazíme úvodní stránku našeho testovacího webu http://localhost/kniha/ts/. Jak vidíme na obrázku 5.2, zobrazila se nám už dobře známá stránka. Obsah však již bereme z databáze. Obrázek 5.2 Úvodní stránka testovacího webu texty bereme z databáze Podívejme se však na pár detailů, které jsme v této kapitole zakomponovali do kódu: Titulek stránky je vyplněn. Má formát Název aktuální stránky Programování WWW stránek pro začátečníky. Titulek se vyplňuje automaticky a pro každou stránku je unikátní. Obrázek 5.3 Automaticky vyplněný unikátní titulek pro každou stránku 130 Když si zobrazíme zdrojový kód, uvidíme, že máme vyplněny i značky s klíčovými slovy a metapopisem stránky. KAPITOLA 5 DYNAMICKÝ OBSAH NAČÍTANÝ Z DATABÁZE

Obrázek 5.4 Automaticky vyplníme i značky pro klíčová slova a metapopis Nadpis hlavního textu a samotný text je také vypsán automaticky. Proklepejme i zbylé dvě podstránky našeho testovacího webu a všimněme si, že všechny výše uvedené texty se mění. Je to velmi vhodné a nyní si řekneme proč. Můžete také otestovat funkčnost kontaktního formuláře nezapomeňte ale upravit řádky 60, 61, 63 a 65 pro přihlášení k vaší e-mailové adrese (pokud je na Gmailu; jinak změňte i definici hostitele na řádku 59). Proč vyplňovat značky unikátními texty Teď se soustřeďme na značku <title></title> a značku pro metapopis stránky. Představme si, že jako uživatel hledáme nějakou informaci přes vyhledávač. Nezáleží na tom, jestli máme na mysli Google, Seznam nebo jiný všechny totiž mají něco společného. Když v nich chceme hledat nějakou informaci, zadáme jim dotaz např. jak vyrobit zmrzlinu, autobazary, last minute dovolená apod. Tyto vyhledávače pak prohledají své databáze (s informacemi o milionech stránek) a podle svých algoritmů seřadí výsledky tak, abychom my, jako uživatelé, dostali na náš dotaz co nejrelevantnější odpovědi (nebo odkazy na stránky, kde tyto odpovědi nalezneme). A nyní se dostáváme k otázce z nadpisu této podkapitoly. Jak máme docílit toho, aby uživatel klepl právě na odkaz na naši stránku? Musíme ho něčím zaujmout a k tomu se velmi hodí právě nadpis našich stránek tedy text, který je mezi značkami <title> a </title>. Proto ho generujeme na našich testovacích stránkách dynamicky a právě proto do něj vkládáme název textu z každé konkrétní podstránky. Obrázek 5.5 Text ze značky <title> je první, čeho si uživatelé při vyhledávání všimnou, proto musí být originální, zajímavý a musí uživatele informovat o tom, co na dané stránce naleznou JAK TO FUNGUJE? 131

Ve výsledcích vyhledávání se obvykle zobrazuje také krátký text z dané stránky. Záleží už na vyhledávači, jestli zvolí část samotného textu ze stránky, nebo použije text z metaznačky pro popis stránky, který píšeme my. Je však vhodné napsat tento text tak, aby obsahoval klíčová slova, která jsou relevantní k textu na dané stránce. Zvýšíme tak pravděpodobnost, že vyhledávač použije právě text ze značky pro metapopis. Obrázek 5.6 Vyhledávač pro danou stránku použil text z její značky s metapopisem Když se nám podaří napsat přitažlivý a unikátní nadpis ve značce <title> a k tomu přidat zajímavý metapopis, můžeme zaujmout více lidí, kteří hledají to, čemu se naše stránky věnují, a zvýšit tak návštěvnost našich stránek. V našem případě vyplníme také značku pro klíčová slova. Měla význam v minulosti, kdy vyhledávače hledaly a řadily výsledky právě podle slov, která tato značka obsahovala. Dnes už pro vyhledávače velký význam nemá, protože jsou natolik chytré, že umí zjistit samy, o čem daná stránka je. Nic však nepokazíme, pokud značku vyplníme. Důležité: I zde však platí všeho s mírou. Nesnažte se do značek pro nadpis stránky, metapopis nebo klíčová slova vtěsnat příliš mnoho klíčových slov. Vyhledávače to mohou považovat za spamování a docílíte tak přesně opačného efektu, než jste chtěli. Poznámka: Psaní textů pro internetové stránky a zlepšení návštěvnosti webových stránek jsou velmi obšírná témata, a proto se zde jimi nebudeme detailněji zabývat. Pokud o se o nich chcete dozvědět více, existuje mnoho knih na dané téma; další informace naleznete také na Internetu. Co když požadovaná stránka neexistuje? Vraťme se zpět k naší testovací stránce. Zkusme si zobrazit stránku, která neexistuje třeba http://localhost/kniha/ts/index.php?page=neexistuje. Uvidíme to, co na obrázku 5.7. Uvidíme pouze prázdnou šablonu stránky to, co je napevno dáno v souboru index.php. Chybí však nadpis stránky, název textu i samotný text (což však není překvapivé, protože požadovaný text s URL názvem neexistuje v databázi nemáme). Takové problémy se obvykle řeší přesměrováním na nám již známou stránku Error 404. My si ukážeme pouze řešení, kdy se uživatel pokouší zobrazit stránku s neexistujícím parametrem page v URL adrese stránky. 132 KAPITOLA 5 DYNAMICKÝ OBSAH NAČÍTANÝ Z DATABÁZE

Obrázek 5.7 Pokud stránka neexistuje, zobrazí se pouze prázdná šablona Nejdříve si do databáze vložíme nový záznam, ve kterém budou texty právě pro tuto chybovou stránku. V prostředí PHPMyAdmin na adrese http://localhost/phpmyadmin klepneme na název databáze dynamicka a na tabulku texty. Dále klepneme na záložku Vložit a přidáme následující záznam: idtextu nazev urlnazev klicovaslova metapopis text 4 Error 404 error404 neexistuje Požadovaná stránka neexistuje. Litujeme, ale požadovaná stránka neexistuje. Na tuto stránku přesměrujeme všechny neexistující stránky, které se uživatelé pokusí zobrazit. Přesměrování vykonáme (pokud to bude potřeba) v souboru priprav-obsah.php. Otevřeme si tento soubor (verzi v adresáři C:\xampp\htdocs\kniha\ts\) a na jeho konec (ještě před řádek s?>) dopíšeme: if($nazev== ) { echo <html><meta http-equiv= REFRESH content= 0;index. php?page=error404 ></html> ; die(); }; Nejdříve zkontrolujeme, zda má proměnná $nazev nastavenu nějakou hodnotu. Pokud ano, je vše v pořádku (požadovaný text v databázi je) a můžeme pokračovat v běhu skriptu index.php. CO KDYŽ POŽADOVANÁ STRÁNKA NEEXISTUJE? 133

Pokud však tato proměnná nemá nastavenu žádnou hodnotu, text v databázi neexistuje (vyloučíme možnost, že v databázi máme text, který nemá zvolen nadpis). Proto vypíšeme velmi jednoduchý HTML kód, který nás přesměruje na stránku index.php?page=error404. Jelikož nemá smysl pokračovat v dalším běhu skriptu, použijeme také funkci die(), která jeho běh ukončí. Podívejme se, jak naše přesměrování funguje. Pokusíme se zobrazit např. stránku http:// localhost/kniha/ts/index.php?page=123. Hned po stisku klávesy Enter jsme přesměrováni na stránku http://localhost/kniha/ts/index.php?page=error404. To stejné se stane při pokusu o zobrazení jakékoliv neexistující stránky. Obrázek 5.8 Při pokusu o zobrazení neexistující stránky jsme přesměrováni na stránku s chybovou hláškou Error 404 Poznámka: Přesměrování se dá udělat mnoha různými způsoby. Jedním z nich je třeba použití souboru.htaccess nebo přesměrování přímo pomocí PHP a změnou hlavičky. Pokud se vám nepodařilo rozchodit testovací stránky do podoby, v jaké by teď měly být, můžete obsah adresáře C:\xampp\htdocs\ts\ nahradit obsahem adresáře C:\xampp\htdocs\ kniha\05\ts\. Před přechodem na další kapitolu tak budeme opět na stejné startovní pozici. 134 KAPITOLA 5 DYNAMICKÝ OBSAH NAČÍTANÝ Z DATABÁZE