S třední škola stavební Jihlava Sada 1 - PHP 09. Formuláře Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a zkvalitnění výuky prostřednictvím ICT Jan Pospíchal 2012 Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky
Formulář Pomocí formuláře může uživatel předávat webovému serveru údaje k dalšímu zpracování. Formulář vytvoříme HTML značkami <FORM> a </FORM>. Součástí formuláře mohou být ovládací prvky: tlačítka, textové pole (editační řádky), rozsáhlé vstupní pole, zaškrtávací políčka, přepínací tlačítka, skrytá textová pole, textová pole s heslem, seznamy. Většinu ovládacích prvků vložíme pomocí nepárové značky <INPUT TYPE = typ ovládacího prvku >. Nové možnosti nabízí HTML 5. Podrobnosti lze nalézt zde.
Formuláře v PHP Formulář může být součástí statické webové stránky. Skript PHP rozšiřuje možnosti formuláře využitím proměnných nebo údajů z databáze. Formulář je spojen s PHP skriptem, který zpracovává údaje z formuláře. Stiskem odesílacího tlačítka formuláře je spuštěn skript uvedený v atributu actionznačky FORM a jsou mu, způsobem uvedeným v atributu method, předána data z formuláře. Možnou variantou je také vše v jednom, kdy skript s formulářem zasílá údaje sám sobě.
Textové pole Vytváříme ho značkou <INPUT TYPE= TEXT.>. Spuštění formuláře.
Přepínací tlačítko, seznam Přepínací tlačítko a seznam jsou prvky formuláře, které umožňují vybírat z uvedených hodnot. Uvedený formulář má dvě odesílací tlačítka. Různých hodnot proměnných spojených s odesílacím tlačítkem je využito k větvení skriptu, který přebírá hodnoty z formuláře. Spuštění formuláře.
Zaškrtávací políčko V našem formuláři provedeme změnu. Odesílací tlačítko pro testování nahradíme zaškrtávacím políčkem. Vytvoříme ho značkou INPUTs typem CHECKBOX. Navíc můžeme přidat implicitní hodnotu atributem CHECKED. Spuštění formuláře.
Vstupní pole Vstupní pole vytváříme párovou značkou TEXTAREA. Vlastnostmi textového pole jsou COLS a ROWS, udávající počet sloupců a řádků textového pole. Ve formuláři je užito implicitních hodnot, které lze přepsat aktuálními údaji. Tentokrát je formulářem PHP skript. Spuštění formuláře.
Uzamčení formuláře Může se stát, že potřebujeme chránit textové nebo vstupní pole před změnou. Stačí použít atribut readonly s hodnotou readonly. Na vzhledu prvku se nic nemění, nelze do něj umístit kurzor a přepsat jeho obsah. Pro ilustraci je použit formulář k zadání uživatelského jména a hesla. Odeslané údaje ověřuje skript, který v případě neplatných údajů vrací uživatele k přihlašovacímu formuláři. Pokud uživatel zadá jméno vyskytující se v seznamu registrovaných jmen, požaduje znovu zadat pouze heslo. Jméno se zobrazí v poli chráněném proti přepisu. Špuštění formuláře.
Příklad řešení kvadratické rovnice Ve formuláři zadáme koeficienty kvadratické rovnice a odešleme je skriptu, který řeší kvadratickou rovnici v oboru reálných čísel. Spuštění formuláře.
Odesílání souborů na server Značka <input type="file" name="">umožňuje odesílat soubory z počítače na server. Ve značce formje třeba použít atribut enctypes hodnotou "multipart/form-data". Platí omezení daná protokolem HTTP. Adresář na serveru, do kterého budeme soubory ukládat, musí mít přidělena práva k zápisu. Ta lze nastavit např. v PSPadu, Total Commanderu, FileZille nebo jiném FTP klientovi. Přenesený soubor je dočasně umístěn do předem daného adresáře, odkud je po skončení skriptu odstraněn. Je třeba, aby skript přesunul soubor z dočasného umístění do požadovaného adresáře. Spuštění skriptu (varianta vše v jednom). Zdrojový text skriptu(varianta vše v jednom). Spuštění formuláře pro odesílání souborů.
Grafické odesílací tlačítko Odesílací tlačítko vytvářené prohlížečem může nahradit vlastním grafickým odesílacím tlačítkem. Ve formuláři použijeme značku inputs atributy type= image a src, jehož hodnotou je název souboru s obrázkem. Spuštění formuláře. Obrázek grafické tlačítko.
Použitá literatura Mach, Jakub. PHP pro úplné začátečníky. 2. přepracované a rozšířené vydání. 1. vydání. Brno: CP Books a. s., 2005. 168 s. ISBN 80-7226-834-1 Naramore, E., Gerner, J., LeScouarnec, Y., Stolz, J., Glass, M. Vytváříme webové aplikace v PHP5, MySQLa Apache. 1. vydání. Brno: ComputerPress, a.s., 2006. 813 s. ISBN 80-251-1073-7 Lacko, Luboslav. PHP a MySQLHotová řešení. 1. vydání. Brno: CP Booksa. s., 2005. 300 s. ISBN 80-251-0397-8 Krejčí, Lukáš. PHP Kapesní přehled. 1. vydání. Brno: ComputerPress, a.s., 2006. 107 s. ISBN 80-251-0808-2 Materiál je určen k bezplatnému používání pro potřeby výuky a vzdělávání na všech typech škol a školských zařízení. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je : : Jan Pospíchal Pokud není uvedeno jinak, byly při tvorbě použity volně přístupné internetové zdroje. Autor souhlasí se sdílením vytvořených materiálů a jejich umístěním na www.ssstavji.cz.