Redakční systém - generování IV - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se koná výstava fotografií Luďka Vojtěchovského?

V dnešní soutěži hrajeme o:



PHP

Redakční systém - generování IV

redakcni system

23. října 2001, 00.00 | Dnes si ukážeme co udělat se scriptem levy.php a poopravíme si jednu funkci ve stávajícím redakčním systému.

Dnes si ukážeme změny provedené ve scriptu levy.php. Trochu tím začnu fulltextové vyhledávání, neboť přidám formulář pro odesílání dotazu.

Nejprve vám ukáži změny potřebné pro zobrazení generovaných článků. Pravý sloupec jsme dělali minule. Teď již zbývá jen levý sloupec. Je tu několik změn. Ta první vypadá takhle:

include "./inc/rubriky.dat";

Již několikrát jsem o ní mluvil. Říkal jsem, že všechny soubory, které načítám, mají nějakou koncovku. Upozorňuji na to znovu, protože pan Kocman měl načítání autorů a rubrik ve tvaru:

include "./inc/rubriky";

Nevím jak vám, ale mě se soubory bez koncovky nechtěly načíst. Musel jsem proto udělat tuto úpravu. Pokud ale budete používat "moje" scripty v mixu s těmi pana Kocmana, musíte koncovky připsat ke všem těmto includům. To jest ke scriptům addclanek.php, korektura.php a hlavně ve scriptu generuj.php. Bez nich by neměli tu správnou funkci. Pokud je někdo líný, nechť si počká na poslední díl seriálu, kde dám všechny scripty ke stáhnutí.

Následující část scriptu levy.php slouží k fultextovému vyhledávání. Pomocí něho budeme získávat slovo, které se bude hledat.

<FORM METHOD="POST" ACTION="index.php">
    <BR>
    <B>Hledej:</B><BR>
    <INPUT TYPE="TEXT" NAME="nazev" SIZE=14 VALUE="<? echo $nazev ?>"> 
    <INPUT TYPE="SUBMIT" VALUE="Hledej">
    <INPUT TYPE="HIDDEN" NAME="hledej" VALUE="true">
</FORM>

Jak to funguje? Metodou POST předáme scriptu index.php řetězec, který má hledat. Ten zadáme do pole s názvem nazev a velikostí 14. Tu si můžete upravit podle libosti. Příkaz echo v atributu VALUE nám zajistí, že se hledané slovo zobrazí i s výsledkem v tomto políčku. Skryté pole slouží jako pokyn pro vyhledávání. Samotné vyhledávání nechám na později, neboť vysvětlování je poněkud delší.

Ještě bych chtěl trochu poopravit funkci tisk() ve scriptu function.php. Podle připomínky v diskuzním foru, jsem ji trochu předělal.
Tady je:

function tisk()
{
echo "<center><FORM><INPUT TYPE=\"button\" VALUE=\" TISK \"
         onClick=\"if (window.print) {window.print();}
else {alert('Musíte tisknout z menu');}\"></FORM></center>";
}

Ještě vysvětlení: verze, kterou jsem dal k nahlédnutí nedávno, by pracovala správně jen pro verze IE a NN . Proč? Protože se dotazuje na jméno browseru. A nejen Microsoft a Netscape umějí tisk tímto způsobem. Asi nejlepší řešení je to, co vidíte. Stejně jako například script, při kterém se změní obrázek po najetí myší, znám ve třech podobách, i tato akce má více možností. Tento způsob nezjišťuje název či verzi prohlížeče, ale rovnou se ptá, zda prohlížeč ovládá tuto funkci. Předchozí verze funkce tisk() bude mít omezení v typech prohlížečů. Pokud se to ale vezme kolem a kolem, co jiného asi máte než Netscape nebo Internet Explorer. Možná jen hrstka lidí v porovnání s uživateli IE a NN, má něco jiného. Touto cestou Rikimu děkuji. Ještě něco! Setkal jsem se s případem, kdy se nedařilo načíst správně tuto funkci. Vyřešilo se to tím, že se ona funkce umístila přímo do scriptu nahled.php.

Dnes ještě začnu generování fór. Bude probíhat podobným principem jako generování článků, s tím rozdílem, že budeme generovat do samostatného adresáře fora (./fora). Generovat se bude předmět a samotný text příspěvek. Jména souborů budou podobná těm, která jsme používali při generování článků. Budou to p_$id.dat (pro předmět) a t_$id.dat (pro text příspěvku). Dále ještě přidáme oddělovač příspěvků. Je to podobné jako bylo oddělování článků po deseti ve scriptu index.php. Z jakého důvodu? Z jednoduchého. Forum je zde děláno jako kniha návštěv. Zobrazí tedy všechny příspěvky ke článku. Nyní si představte, že je jich tam padesát. V mém případě má stránka (dva velice krátké příspěvky) se vším všudy 7,2 KB. Jen pro informaci je to 242 řádků (v mé konečné verzi). A to jsou pouze dva příspěvky na stránce. Teď si jich tam představte padesát a každý, kdo tam něco napsal, se pěkně rozpovídal. Při dnešní rychlosti internetu (pokud nemáte ISDN) by to asi trvalo poměrně dlouho. Z tohoto důvodu jsem se rozhodl přistoupit k tomuto kroku. Jinak je vše při starém, ale o tom až příště.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: