Jak na vlastní katalog stránek v PHP – download

5. června 2001

Stáhnutí zdrojových souborů aplikace katalogu stránek – exkluzivně pro čtenáře Interval.cz! Najdete zde zdrojové soubory skriptů, které byly popsány v průběhu několika dílů, a nějaké skripty navíc (které nebyly v seriálu uvedeny). Vedle možnosti si stáhnout všechny zdrojové soubory katalogu se také dočtete postup, jak katalog stránek zprovoznit na svém lokálním serveru.

Chtěl bych upozornit, že zdrojové soubory skriptů se nepatrně (ale jen opravdu nepatrně) liší od těch, které jsem uváděl v textech článků. Rozšířil jsem skripty tak, aby vzájemně spolu spolupracovaly jako jeden celek. Nyní následuje postup, jak zprovoznit katalog stránek.

Vytvoření databáze

Nejprve musíme vytvořit databázi v MySQL. Spustíme si konzolu MySQL serveru (typicky c:\mysql\bin\mysql.exe), a na příkazovou řádku zapíšeme následující příkazy:

create database katalog;
use katalog;

Jako první spustíte v okně konzoly MySQL serveru skript vytvor_databazi.sql. Ten vytvoří 4 základní tabulky, které jsme si definovali v 1. díle.

\. c:/tmp/vytvor_databazi.sql

Inicializace databáze

Jako druhý krok provedeme inicializaci databáze. Tu provedeme skriptem init_database.sql, který naplní databázi počátečními daty. Založí se tak sekce „Databáze“, „Programovací jazyky“ a „Značkovací jazyky“ včetně jejich podsekcí, jak bylo uvedeno v příkladě ve 2. díle tohoto seriálu. Vy samozřejmě snadnou modifikací skriptu si vytvoříte vlastní stromovou strukturu sekcí a podsekcí. Skript spustíte na příkazové řádce:

\. c:/tmp/init_database.sql

Skripty aplikace

Aplikace se skládá ze sedmi skriptů:

  • index.php – (2. díl, 3. díl) základní skript určený pro zobrazování seznamu podsekcí a odkazů (včetně zobrazení hlavní stránky katalogu)
  • hledej.php – (4. díl) skript pro základní (jednoduché) vyhledávání nad odkazy
  • advanced.php – (5. díl) skript pro pokročilé vyhledávání
  • pridej_odkaz.php – (6. díl) možnost přidání odkazu uživatelem
  • zarad_odkazy.php – (7. díl) nově přidané odkazy se pomocí tohoto skriptu zařadí mezi platné odkazy katalogu
  • hodnoceni.php – (8. díl) skript pro hodnocení kvality odkazované stránky dle uživatele
  • over_odkazy.php – (8. díl) skript projde všechny odkazy v databázi a zkontroluje (případně zaktualizuje) příznak, zdali stránka je či není dostupná

Jak jednotlivé skripty pracují, jste se dočetli v předchozích dílech, zde ale ještě uvedu nějaké doplňující informace, aby se vám podařilo úspěšně katalog stránek zprovoznit.

Vytvořte si ve svém www kořenovém adresáři podadresář „katalog“. V něm budou uloženy všechny skripty a další podadresáře.

Při zobrazování odkazů se využívá několika obrázků: obrázky jedné až pěti hvězdiček. Obrázky jsou klikací, odkaz vede na skript hodnoceni.php. Dále jsou zde použity obrázky is_avail.gif a not_avail.gif. Obrázky jsou uloženy v podadresáři „img“.

Při volání skriptu hodnoceni.php se předává parametr „sekce“ (resp. jeho číslo), který nám zajistí, že na konci stránky vygenerované pomocí skriptu hodnoceni.php se objeví odkaz „Zpět na sekci …“ a místo tří teček je doplněn název sekce, ze které jsem přišli.

U dalších skriptů (hledej.php, advanced.php, pridej_odkaz.php) je to řešeno podobným způsobem.

Co se týká přidávání odkazu uživatelem, zde došlo k malé změně. Uživatel při vkládání odkazu si již sekci nevybírá, ale je už určená (záleží tedy na tom, při zobrazení jaké sekce klikne na odkaz „Přidání odkazu“). S tím souvisí i skutečnost, že na úvodní stránce se nezobrazuje odkaz „Přidat odkaz“, neboť na úvodní stránku nelze odkaz přidat (každý odkaz musí být v nějaké sekci).

Ve skriptu zarad_odkazy.php jsem udělal také jedno malé zjednodušení: při jednotlivém procházení záznamů lze editovat číslo sekce (ale nelze vybírat z množiny názvů – není problém si to rozšířit, aby se místo prvku formuláře <INPUT TYPE=text …> zobrazoval prvek <SELECT …> – to už nechám na vás :)

Poslední poznámka se bude týkat skriptu over_odkazy.php. Ten se, narozdíl od ostatních skriptů, nespouští přes webové rozhraní, ale na příkazové řádce. Za předpokladu, že PHP máte uloženo v adresáři C:\PHP, můžete například každou půlnoc skript spouštět (v okně Command) takto:

C:\PHP\php.exe C:\Inetpub\wwwroot\katalog\system\over_odkazy.php

Protože skript ověřuje dostupnost jednotlivých URL, může se stát, že bude běžet docela dlouho v případě, že bude hodně nedostupných stránek.

Stromová struktura

Na závěr ještě zopakuji stromovou strukturu celého katalogu, kterou můžete vytvořit například v adresáři C:\Inetpub\wwwroot.

Stromová struktura katalogu
Stromová struktura katalogu

SQL skripty vytvor_databazi.sql a init_database.sql si zkopírujte do adresáře C:\TMP.

Závěrem

Tuto aplikaci si můžete stáhnout pro svoji osobní potřebu. Jedná se o nejzákladnější verzi katalogu. Není zde uvažován design, nejsou zde ošetřeny vstupy z formuláře (tj. dat, které zadá uživatel – je dobré udělat kontrolu na nebezpečné znaky, apod. Doporučuji přečíst článek Ochrana dat – psaní bezpečných CGI skriptů).

Předpokládám, že si tuto aplikaci sami rozšíříte a doimplementujete různá vylepšení. Pokud z této aplikace vyjdete a zveřejníte ji na Internetu, nebudu se vůbec zlobit, když někde na konci úvodní stránky utrousíte malým písmem malé poděkování :o).

Celou aplikaci (ZIP) si můžete stáhnout zde.

Nechť vám slouží!

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Mohlo by vás také zajímat

Nejnovější

2 komentářů

  1. rihot

    Lis 19, 2009 v 14:03

    Zkouška jak

    Odpovědět
  2. franta z puklic

    Kvě 2, 2010 v 12:58

    Nevim nepovinné
    Vaše jméno:
    Váš email:

    Odpovědět

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *