PHP (79) - Triky s formuláři a ergonomie webu
Kterak si pomoci méně známými triky s formuláři při vývoji portálu? A což to vlastně je ergonomie webu?
15.12.2004 15:00 |
Petr Zajíc
| Články autora
| přečteno 42854×
Předchozí díl jsme zakončili smutným konstatováním, že soubor
diskografie.php nedělá to, co by měl. Jeho úkolem totiž bylo zobrazovat
názvy alb, nebo alb a zároveň písní. Dnes se podíváme, jak to dořešit.
Triky s formuláři
V díle, v němž se představovaly formuláře, jsem uvedl,
že "klasický
formulář obsahuje nějaké prvky pro uživatelský vstup (třebas textová
pole) a nějaké prvky pro jeho odeslání". Rovněž Pavel Kácha v
sesterském seriálu
o HTML prohlásil, že "webový formulář je část stránky složená z
různých tlačítek, vstupních
polí a přepínačů, která slouží pro získání nějakých dat od uživatele".
Ono to není úplně přesné. Může totiž existovat formulář, který bude
obsahovat pouze odesílací tlačítko!
V našem případě takové tlačítko může být "dvoustavové" a může
obsahovat pokyn pro zobrazení vydaných alb nebo pokyn pro zobrazení dat
a zároveň písní. Celý trik přitom může spočívat v tom, že provedená
akce se vyhodnotí podle toho, jaká byla hodnota value (a tedy i
popisek) na tlačítku. Můžeme tedy zobrazit formulář pomocí finty:
<input
name="zobrazeni" type="Submit" Value="<?echo ($_POST["zobrazeni"]==="Zobrazit i písně")? "Zobrazit jen alba":"Zobrazit i písně"?>">
a následně v kódu testovat zaslanou hodnotu nějak takto:
if
($_POST["zobrazeni"]==="Zobrazit i písně"):
// atd...
endif;
Mnoho dalších problémů s formuláři může vyřešit následující trik: Na
jedné stránce můžete mít více různých formulářů, z nichž dva či více mohou provádět stejnou akci! Například bychom
mohli chtít, aby se tlačítko pro modifikaci zobrazení objevilo nejen v
úvodu stránky, ale rovněž v její patě. Není nic jednoduššího než
vykopírovat definici formuláře na správné místo v dokumentu... a ono to
bude fungovat!
Při zobrazování více formulářů na jedné stránce můžeme samozřejmě
rovněž zapojit nějakou aplikační logiku. Tak třeba si budete přát, aby
se v zápatí objevilo tlačítko pouze v případě, kdy je zobrazen výpis
jak alb, tak písní. V tom případě můžete naprogramovat něco jako:
<?if ($_POST["zobrazeni"]==="Zobrazit i písně"):?>
<form method="post" action="index.php?clanek=diskografie">
<input name="zobrazeni" type="Submit" Value="<?echo ($_POST["zobrazeni"]==="Zobrazit i písně")? "Zobrazit jen alba":"Zobrazit i písně"?>">
</form>
<?endif;?>
Metoda zobrazování formulářů obsahujících pouze tlačítka má
nespornou výhodu v tom, že nezatěžuje uživatele mnoha
ovládacími prvky a je nesmírně kompaktní. Jediným kliknutím na
odesílací tlačítko tak můžete například přepínat mezi "krátkým" a
"dlouhým"
zobrazením, jako je tomu u nás. Ostatně, zkuste si to sami.
Pohodlné listování
Pokud si budete se sezbnamem alb a písní chvíli hrát, zjistíte, že
je poměrně dlouhý. To má značnou nevýhodu - pokud budete v seznamu
někde nízko, bude návrat nahoru znamenat velké rolování. Což
představuje problém, protože všechny odkazy jsou v horní části webu.
Řešit se to dá různě - například použitím prvku IFRAME. To by ale
docela rozházelo náš celý návrh, takže se musíme porozhlédnout po něčem
jiném.
To "něco" jsou záložky. V záhlaví stránky může být definována
záložka, například pomocí kódu:
<a
name="nahore"></a>
A ve vhodné části stránky se pak na záložku můžeme přemístit:
<?
echo "<tr><td><a
href=\"#nahore\">Nahoru</a></td></tr>";
?>
Záložky popisuje ve svém seriálu o HTML Pavel Kácha, takže se můžete
podívat, jak
to s nimi je.
Pozn.: Pokud tomu, co Pavel
vysvětluje nebudete rozumět, pak vězte, že nejste sami. Pavel totiž
anglický výraz pro záložky, "bookmarks" překládá jako "návěští",
přestože to je nestandardní. Navíc, Pavel mixuje výklad o záložkách s
výkladem o odkazech, což jsou dvě různé věci. Jiný odkaz pro vysvětlení
záložek můžete najít třeba zde.
Ergonomie webu
Úvahám o snadnosti ovládání a přístupnosti navigace se souhrnně říká
ergonomie webu. Obecný návod,
jak udělat ergonomický web neexistuje, takže Vám mohu nabídnout jen
několik osvědčených pravd, mezi nimiž musíte balancovat sami:
- Obecně platí, že validní weby mají tendenci být ergonomické. Není
na tom nic divného, když si uvědomíte, že webové standardy jsou tu
hlavně proto, aby nám život s webem usnadnily. Bráno pochopitelně z
pohledu uživatele; co se týče vývojáře je to někdy spíše naopak
- Obecně platí, že krátké stránky mají tendenci být ergonomické.
Logicky - čím méně dat najednou uživateli nabídnete, tím spíše se v
nich neztratí.
- Stránky s chytře vymyšlenými kaskádovými styly mají rovnež
tendenci být ergonomické. Vždyť styly slouží k oddělení obsahu webu od
formy.
Pokud si nejste jisti, zda je web dostatečně ergonomický, můžete
zkusit následující podněty:
- Zkuste se na něm chvíli pohybovat a myslet přitom jako uživatel.
Pokud Vám něco bude připadat složité, asi to tak je.
- Posaďte k webu uživatele a sledujte jeho chování (třeba pohyby
myši). Pokud je zmatený, asi web příliš ergonomický nebude.
K ergonomii webu v našem příkladu bychom mohli přispět, pokud bychom
kromě uvedených věcí ještě zvážili následující záležitosti:
- Řazení záznamů pomocí klauzule ORDER BY v dotazech SELECT pro
MySQL databázi
- Stránkováním výpisů - což už v seriálu bylo.
Změny na portálu
Na současný stav projektu se můžete na našem webu podívat
nebo si jej můžete stáhnout.
Pozn.: Aby Vám stažená verze
fungovala na lokálním stroji, upravte si hodnotu konstant SQL_HOST,
SQL_USERNAME, SQL_PASSWORD a SQL_DBNAME. Případně si je můžete včlenit
do konfiguračního souboru podobně, jako jsem to udělal v souboru
func.php.
Verze pro tisk
|
Nejsou žádné diskuzní příspěvky u dané položky.
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|