Sova v síti - 1/35 - vydáno 18.12.2001 Dobrý den, s malým zpožděním je zde vaše Sova v síti :-) OBSAH -- phpMyAdmin pro správu databáze MySQL -- Vnitřní odkazy, neboli záložky -- Novinky u Petra Kocny -- Odpovídáme na dotazy čtenářů Nejprve, jak se již pomalu stává zvykem, opět malá změna programu. Plánovaný článek "Buďte striktní" se v dnešním vydání neobjeví. Během převodu stránek Sovy na normu XHTML 1.0 Strict jsme totiž narazili na několik problémů s validací kódu, které si chceme nejprve vyjasnit s autory validátoru W3C. Jakmile se vše vyjasní, článek zveřejníme a dozvíte se tak, co vše udělat proto, aby se vaše stránky zvalidovaly jako XHTML 1.0 Strict. To samozřejmě neznamená, že se přes svátky nemůžete pustit do převodu svých stránek do XHTML podle článku "Jak přejít na XHTML" z minulého čísla. Vše v tomto článku platí, jen vám zatím doporučujeme spíše normu Transitional než Strict. K citovaném článku ještě jedna poznámka: jak nás upozornil čtenář Ondrej Ivanič, článek poněkud sugestivně naznačoval, že jediné možné kódování češtiny v dokumentech XHTML je Windows-1250. To ovšem není pravda. V XHTML, stejně jako v HTML, můžete použít i UTF-8 a ISO-8859-2 a z pohledu teoretické čistoty standardů je to dokonce správnější (v uvedeném pořadí). Z pohledu tvorby stránek je ale kódování Windows-1250 pro většinu autorů praktičtější. Dárek pro čtenáře k Vánocům a do nového roku Jak jsme slíbili v minulém čísle, máme pro vás připraven malý dárek. Přesněji řečeno, připravil ho jeden z vás, čtenář Boris Pěknice-Muravsky. Jedná se o krásný "soví" kalendář na rok 2002 ve formátu PDF, který naleznete na: http://www.sovavsiti.cz/download/ka2002.zip nebo i s náhledem přímo na stránkách autora: http://home-1.worldonline.cz/~ca722438/aktuality.htm Borisovi děkujeme a vám všem přejeme krásné svátky a vše nejlepší do nového roku. PHPMYADMIN PRO SPRÁVU DATABÁZE MYSQL Martin Kopta Před čtrnácti dny jsme se ve článku "Webserver pro hlupáčky" pustili do instalace vlastního vývojového webserveru PHPTriad (Apache s PHP a databází MySQL) . Dnes se podíváme na práci s databází MySQL pomocí aplikace phpMyAdmin , která je součástí distribuce PHPTriad, ale kterou také můžete používat samostatně třeba na svém skutečném webserveru na Internetu -- o této možnosti se zmíním v závěru. Pokud jste si nainstalovali PHPTriad, pak phpMyAdmin najdete na disku v adresáři: C:\Apache\Htdocs\phpMyAdmin Abyste aplikaci mohli používat, musíte nejdříve spustit Apache a potom také databázový server MySQL. Sice jsme si to ukazovali už posledně, ale myslím, že drobné zopakování nám neuškodí. C:\Apache\Apache.exe -k start C:\Apache\mysql\bin\mysqld.exe Nyní, můžeme otevřít prohlížeč, a pokud jste od minula nezměnili v nastavení Apache vlastnost 'DocumentRoot', můžeme otevřít stránku aplikace phpMyAdmin: http://127.0.0.1/phpmyadmin/ Aplikace na vás nyní hovoří anglicky a součástí distribuce PHPTriad bohužel ještě není český překlad, ale pokud byste přecijen upřednostňovali češtinu, připravil jsem konfigurační soubor v češtině (někdy je ale srozumitelnější angličtina ;-). http://www.sovavsiti.cz/download/czech_win1250.zip Soubor "czech_win1250.inc.php" nahrajte do adresáře: C:\Apache\Htdocs\myphpadmin a v základním konfiguračním souboru "config.inc.php" v téže složce změňte řádek: require("english.inc.php"); na require("czech_win1250.inc.php"); Pokud nyní otevřete phpMyAdmin v prohlížeči, bude na vás hovořit česky. Až budete chtít češtinu použít i v phpMyAdmin na webu, může se stát, že server bude nastaven na jinou výchozí znakovou sadu pro češtinu, pak pouze stačí soubor "czech_win1250.inc.php" převést do kódování, které server používá. A nyní už se podíváme, na samotný phpMyAdmin. Aplikace phpMyAdmin se hodí pro případ, že nemáte přístup ke standardnímu klientovi databáze mysql -- a to na webu obvykle nemáte, museli byste totiž disponovat uživatelským kontem pro přístup na server třeba přes SSh. Pokud toužíte po základním klientovi MySQL na svém vývojovém webserveru PHPTriad, pak ho spustíte (v příkazovém řádku MS-DOS) následovně: C:\Apache\mysql\bin\mysql.exe Prostřednictvím phpMyAdmin můžete vytvořit novou databázi (hned na titulní obrazovce), a v té pak jednotlivé tabulky. Už tuhle možnost oceníte, pokud nemáte přístup ke klientovi a nebaví vás psát si dávkové soubory v PHP. Navíc je tu vše řešeno pomocí formulářů, a tak jsou zakládání, změny a rušení databází, tabulek, sloupečků a záznamů opravdu snadné. Ohromnou výhodou phpMyAdmin, kterou ocení především databázoví začátečníci, je jednoduchost, s níž lze opravovat chyby -- pokud například zjistíte, že budete v tabulce potřebovat o jeden sloupeček více, nebo že pro pole se spíše než datový typ TINYINT hodí INT, nemusíte ani umět jazyk SQL a prostě si vše potřebné naklikáte. Druhým přínosem pro začátečníky je zobrazování syntaxe dotazu. Začátečníkům dělají dotazy problémy, proto oceňují, že jim phpMyAdmin kromě toho, že všechny operace probíhají klikáním na odkazy a formulářové prvky, navíc ještě zobrazí znění SQL dotazu, který klikáním vytvořili. Pokud třeba chcete z tabulky vypsat prvních deset řádek a seřadit je podle jednoho sloupečku sestupně podle abecedy, pak si takový výber jednoduše naklikáte v phpMyAdmin, a pokud jste s výsledkem dotazu spokojeni, do svého zdrojového kódu v PHP pak můžete rovnou zkopírovat zobrazený SQL příkaz. Opačný postup nefunguje úplně spolehlivě (několikrát se mi stalo, že klient mysql dotaz provedl, ale phpMyAdmin mi jej vracel jako chybný). Když pracujete s phpMyAdminem, musíte si dávat velký pozor, abyste někde něco nesmazali omylem -- žádné [Ctrl]+[Z] vám tu nepomůže. Především si dejte dobrý pozor na to, abyste nezrušili databázi "mysql". V tabulkách této databáze jsou totiž nastavena i uživatelská práva, a bez nich vám databáze nepoběží. Myslím, že více toho o phpMyAdmin vědět nepotřebujete, vrátíme se tedy ještě k případu, že chcete phpMyAdmin použít i na skutečném serveru. Někteří webhosteři nástroj jako je phpMyAdmin již poskytují pro správu databáze automaticky, ale je možné, že zrovna vy jste připadli na nějakou výjimku. Nejdříve si musíte být jisti, že na serveru opravdu běží MySQL. Pokud na serveru je jiná databáze, pak je velmi pravděpodobné, že aplikace jako je phpMyAdmin existuje i pro ni, například pro PostgreSQL existuje phpPgAdmin. Pokud je na serveru MySQL, pak stačí, když phpMyAdmin rozbalíte a přenesete na svůj WWW server. Pak musíte nastavit uživatelská práva v konfiguračním souboru "config.inc.php". $cfgServers[1]['host'] = 'localhost'; // Označuje server, kde MySQL běží $cfgServers[1]['port'] = ''; // MySQL port - obvykle necháte prázdné $cfgServers[1]['adv_auth'] = false; // Používáte nadstandardní autentifikaci? (true/false) $cfgServers[1]['stduser'] = 'user'; // standardní uživatel (jen u nastandardní autentifikace) $cfgServers[1]['stdpass'] = 'password'; // standardní heslo (jen u nastandardní autentifikace) $cfgServers[1]['user'] = 'user'; // uživatelské jméno (u základní autentifikace) $cfgServers[1]['password'] = 'password'; // uživatelské heslo (u základní autentifikace) $cfgServers[1]['only_db'] = 'nazev_databaze'; // omezení na jednu databázi (vyplňte název) $cfgServers[1]['verbose'] = ''; // Slovní označení serveru -- nechte prázdné Většinou server MySQL běží na tomtéž serveru jako WWW server, pak 'host' vyplníte jako 'localhost', v opačném případě sem patří doména nebo IP adresa databázového serveru. Název Vaší databáze, jakož i uživatelské jméno a heslo vám sdělí webhoster. Pokud chcete prostřednictvím jednoho phpMyAdmina spravovat více databází, stačí tento blok příkazů napsat znovu, pouze číslo $cfgServers[1] se musí zvýšit vždy pro každý další server o jedničku (tedy druhý server bude $cfgServers[2]). Nyní už phpMyAdmin bude fungovat, ale na webu vám hrozí, že kdokoli bude znát URL k phpMyAdminu, bude si moci dělat s vaší databází, co si zamane. Proto je vhodné dohodnout se s vaším webhosterem, aby adresář, ve kterém budete mít phpMyAdmin uložený, zabezpěčil heslem. Jinou možností je napsat si v PHP autentizační skript, který můžete vložit do hlavičky v souboru "header.inc.php". Pokud se vám práce s phpMyAdminem zalíbila, vězte, že podobných aplikací existuje mnoho. Například phpAds (malý reklamní systém), phpEasyMail (poštovní klient), phpPolls (ankety) a další. Najdete je buď na stránkách PHPWizard nebo SourceForge . ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Doporučte sovu v síti vašim přátelům. Přepošlete jim toto číslo, nebo použijte formulář na http://www.sovavsiti.cz/recommend.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VNITŘNÍ ODKAZY, NEBOLI ZÁLOŽKY Marek Prokop I začínající tvůrci webových stránek znají běžné odkazy a vědí, jak je udělat. Už méně často však využívají tzv. záložky, čili odkazy dovnitř stránky. Nejprve tedy ukážu, jak se záložky tvoří a pak přidám pár tipů z oblasti použitelnosti i pro pokročilejší čtenáře. + Jak vytvořit záložku Vlastní záložku, tj. místo uvnitř stránky, na které má vést odkaz, vytvoříte obyčejnou značkou . Místo atributu "href" však použijete atribut "name". Záložka tedy bude vypadat např. takto: V atributu "name" může být libovolný řetězec, ovšem raději doporučuji omezit se na řetězce bez mezer a znaků s diakritikou. Vlastní prvek A může být buď prázdný, nebo obsahovat kratší text, obvykle většinou text nadpisu .

Nadpis stránky

V druhém případě dejte pozor na to, že prvek A nesmí obsahovat jiný prvek A. Pokud potřebujete umístit záložku přesně na určitý odkaz, použijte oba atributy "href" a "name" v jediném prvku A. Odkaz na xyz.cz + Jak skočit na záložku Vytvořit záložku již tedy umíte a nyní jak na ni skočit. Stačí k tomu zcela běžný odkaz; pouze za hodnotu jeho atributu "href" napíšete znak # a název příslušné záložky (bez mezer). Záložka zal1 ve stránce xyz.cz Pamatujte si, že označení záložky se dává vždy nakonec atributu "href". Další správné možnosti tedy např. jsou: http://www.xyz.cz/kontakty.htm#reditel kontakty.htm#sekretarka download/index.htm#soubor1 clanek.asp?nahled=1&id=123#podnadpis2 Na posledním příkladu si povšimněte, že zmíněné pravidlo platí i pro URL s parametry. Zápis clanek.asp#podnadpis2?nahled=1&id=123 by tedy byl špatně a nefungoval by. Pokud je záložka umístěna na té samé stránce, ze které se odkazujete, stačí samotný # a jméno záložky. Např. Na začátek stránky O firmě + Jak záložky správně využívat Nakonec ještě pár tipů, jak záložky využívat co nejefektivněji. 1. Je vhodné, když stránky delší než 2 obrazovky mají nahoře záložku (např. "top") a dole odkaz na začátek stránky. Uživatel jistě ocení, že mu ušetříte klikání na svislý posuvník. 2. Hodně dlouhé stránky rozčleňte na víc podnadpisů (viz též [1], [2]), každý se svou záložkou, a na začátek stránky umístěte obsah s odkazy na tyto záložky. 3. Ne všechny prohlížeče vykreslují vnitřní odkazy směřující na prohlíženou stránku stejnou barvou jako již navštívené odkazy. U takových odkazů se proto snažte uživatele upozornit, že odkaz nevede na jinou stránku, ale pouze na jiné místo prohlížené stránky. Vhodný způsob jsou např. uvozovací formulace "Níže na této stránce", "Na začátek stránky", atd. 4. Potřebujete se často odkazovat na větší množství velmi krátkých textů? Umístěte je všechny na jednu stránku s příslušnými záložkami a odkazujte se na tyto záložky. Obzvlášť vhodné to je pro různé rejstříky, slovníky, nápovědy k formulářům, atd. 5. Pomocí záložek jdou dobře dělat i poznámky pod čarou známé z tištěných publikací. Číslo poznámky uveďte u příslušného textu buď v hranaté závorce, či jako horní index (prvek ) a odkazujte se jím na číslovaný seznam (
    ) poznámek na konci stránky. + Související odkazy 1. Jak používat nadpisy http://www.sovavsiti.cz/c01201.html 2. Jak psát nadpisy http://www.sovavsiti.cz/c01212.html 3. Základy správné navigace http://www.sovavsiti.cz/ c01081.html 4. 6 základních stylů navigace http://www.sovavsiti.cz/c01331.html NOVINKY U PETRA KOCNY K 15.12.2001 ... v katalgu katalogů http://www.lf1.cuni.cz/~kocna/kam-www.htm a vyhledávačů http://www.lf1.cuni.cz/~kocna/roboti.htm Další nové odkazy zařazeny do seznamu, který má již 180 položek. X-Projekt, internetový časopis, portál s rubrikou katalogu odkazů, jde o novou verzi, došlo ke změně URL, dříve zařazené odkazy převedeny nebyly - počet odkazů je zatím pouze 16, zařazení správci slibují během 1 dne, nový archiv odkazů nabízí řadu funkcí - hodnocení, komentáře, počítadlo kliknutí. URL archivu odkazů: http://xproject.web3.cz/links.php, pro přidání odkazu http://xproject.web3.cz/links.php?op=AddLink České Weby, rozcestník - tabulka ikonek, zahrnuje cca 200 odkazů v několika kategoriích, doplnění, zařazení a editaci odkazů autor navrhuje přímou modifikací zdrojového kódu stránky, včetně zkopírování ikonky do jeho adresáře - zvláštní přístup - a nefunguje. URL: http://galways.web2001.cz/, editace odkazů - http://galways.web2001.cz/zmeny.htm Portál - WWW stránky je již měsíc nedostupný, server neodpovídá, možná je zrušen. Stránka Roboti a pavouci na Webu rozšířena, přidán český fultextový vyhledávač WebSeek, proveden kompletní test a kontrola všech vyhledávačů a aktualizovány testovací hodnoty. ODPOVÍDÁME NA DOTAZY ČTENÁŘŮ Dotaz: Zaujal me clanek o xhtml, chtel jsem to vyzkouset, ale na localhost mi to hlasilo chybu, pokud jsem dal priponu xhtml. Pokud jsem dal priponu .html, zase tomy nevadily syntakticke chyby. Na webu take nevadi syntakticke chyby a .xhtml nefunguje vubec. Jak to ma byt spravne? Odpověď: Přípona souboru s typem HTML dokumentu prakticky nesouvisí. Pokud požadavek na soubor vrací XHTML, může mít tento soubor stejné přípony, jako u HTML 4. Záleží především na tom, co podporuje váš server. Obvykle se jedná o přípony htm, html, případně též shtml, phtml, php, asp, atd. V případě statických stránek (bez skriptů na straně serveru) tedy doporučuji příponu htm, nebo html. Validátory by měly (aspoň myslím), kontrolovat soubory s libovolnou příponou. Musí však být umístěny na serveru, který je pro validátor přes internet dostupný. Nelze tedy validovat soubory uložené jen na lokálním počítači bez vlastní IP adresy. Dotaz: nevite o nejakem zpusobu, jak rozeznat normalniho navstevnika stranek od robota. Ti roboti mi totiz delaji docela zmatek v pocitadle. Pocitadlo je delano pres PHP+MySQL. Odpověď: Zaměřte se na hodnotu HTTP proměnné User Agent. Prostudujete-li si log svého serveru, zjistíte, že roboti se hlásí jinak než normální prohlížeče. Nevím ale, zda to kvůli počítadlu stojí za to. Indexovací roboti navštíví vaši stránku sotva párkrát týdně. Dotaz: V minulém čísle jsme zapomněli odpovědět na druhou část dotazu týkajícího se validace CSS. Šlo o to, proč validátor CSS hlásí tento typ hlášení: Line : 22 Level : 1 You have no color with your background-color: body Odpověď: V tomto případě se nejedná o chybu, ale jen upozornění (warning). Obvykle totiž bývá vhodné spolu s barvou pozadí definovat i barvu písma a naopak. Pokud definujete jen barvu písma, nebo jen barvu pozadí, riskujete to, že díky pravidlům dědění a priorit vznikne naprosto neočekávaná a třeba velmi těžko čitelná barevná kombinace A to je pro dnešek a zaroveň letošní rok vše. Těšíme se na shledanou v pondělí 7.1.2002, kdy v Sově naleznete: -- Buďte striktní, aneb jak dosáhnout validace stránky podle typu dokumentu Strict. -- Zaklady typografie pro web. Pismo -- úvodní díl seriálu Martina Kopty o typografii na webu. -- Odpovědi na vaše dotazy, zajímavé odkazy, novinky v katalogu katalogů a vyhledávačů Petra Kocny, novinky na Slunečnici atd. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nechcete, nebo naopak chcete dostávat Sovu v síti? Odběr lze odhlásit odesláním zprávy na unsubscribe@sovavsiti.cz. Přihlásit se lze odesláním zprávy na subscribe@sovavsiti.cz, nebo formulářem na adrese http://www.sovavsiti.cz/. Chcete nám cokoli sdělit? Uvítáme vaše náměty, připomínky, kritiku, atd. na adrese mailto:redakce@sovavsiti.cz. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Není-li v konkrétním případě uvedeno jinak, je autorem všech publikovaných článků Marek Prokop. Tento ezin, nebo jeho libovolnou část můžete volně šířit dále, pokud současně uvedete zdroj následujícím způsobem: _________________________________________________________________ Sova v síti -- (c) 2001 Marek Prokop -- http://www.sovavsiti.cz/