Při odesílání formuláře se použije výchozí typ. Formuláře v HTML. Název skupiny prvků formuláře
Na webových stránkách často najdete stránky, na kterých jsou umístěny formuláře HTML. Webové formuláře – pohodlný způsob získávání informací od návštěvníků vašich stránek. Příkladem je -, - který poskytuje zpětnou vazbu návštěvníkům stránek a vývojářům. Formuláře jsou také vhodné pro vývojáře webu při vývoji CMS, což jim umožňuje zachovat hlavní vlastnost webu – relevanci. Tento článek je věnován základům tvorby HTML formulářů, jejich zpracování a způsobům přenosu dat z obrazovkových formulářů do PHP skriptů.
1) Vytvořte jednoduchý formulář
Tagy A definovat začátek a konec formuláře. Značka počátečního formuláře obsahuje dva atributy: akce A metoda. Atribut action obsahuje adresu URL skriptu, která musí být volána ke zpracování skriptu. Atribut metoda sděluje prohlížeči, jaký typ požadavku HTTP má použít k odeslání formuláře; možné hodnoty POŠTA A DOSTAT.
Komentář
Hlavním rozdílem mezi metodami POST a GET je způsob přenosu informací. V metodě GET jsou parametry předávány adresní řádek, tj. v podstatě v hlavičce HTTP požadavku, zatímco u metody POST jsou parametry přenášeny přes tělo HTTP požadavku a nijak se neprojevují v adresním řádku.
Tento html formulář obsahuje prvek Procházet, který otevře dialogové okno pro výběr souboru k nahrání na server. Když stisknete tlačítko "Přenést soubor", je soubor předán skriptu handleru.
Poté musíte napsat skript handleru action.php. Před napsáním handleru se musíme rozhodnout, do kterého adresáře budeme soubor kopírovat:
if(isset($_FILES [ "mujsoubor" ])) // Pokud soubor existuje {
$catalog = "../obrazek/" ; // Náš katalog if (is_dir($catalog)) // Pokud takový adresář existuje {
$myfile = $_FILES [ "myfile" ][ "tmp_name" ]; // Dočasný soubor $myfile_name = $_FILES [ "myfile" ][ "name" ]; // Název souboru if(! copy ($myfile, $catalog)) echo "Chyba při kopírování souboru". $myfile_name // Pokud se kopírování souboru nezdařilo }
else mkdir (../image/" ); // Pokud takový adresář neexistuje, vytvoříme jej }
?>
Komentář
Pokud důvěřujete uživatelům, že nahrávají jakékoli soubory na váš server, musíte být velmi opatrní. Útočníci mohou do obrázku nebo souboru vložit „špatný“ kód a odeslat jej na server. V takových případech musíte stahování souborů přísně kontrolovat.
Tento příklad ukazuje vytvoření adresáře a zkopírování souboru do tohoto adresáře na server.
Rád bych také předvedl příklad s prvkem zaškrtávací políčko. Tento prvek se mírně liší od ostatních prvků tím, že ne-li jedním z prvků zaškrtávací políčko'a není vybrána, pak superglobální proměnná $_POST vrátí prázdnou hodnotu:
if (!empty($_POST [ "moje barva" ])) echo $_POST [ "moje barva" ]; // Pokud je vybrán alespoň 1 prvek jinak echo "Vyberte hodnotu";
?>
HTML formulář je součástí dokumentu, který umožňuje uživateli zadat informace, které ho zajímají, a které mohou být následně akceptovány a zpracovány na straně serveru. Jinými slovy, formuláře se používají ke shromažďování informací zadaných uživateli.
Chcete-li určit, ke kterému prvku formuláře aktuální štítek patří, musíte použít atribut for tagu
Podívejme se na příklad použití:
Příklad použití značky Ano Ne >
V tomto příkladu:
Uvnitř První formuláře:
Vyslán dva přepínače ( ) vyberte jednu z omezeného počtu možností. Všimněte si znovu, že pro přepínače ve stejném formuláři musí být uvedeno stejné jméno, uvedli jsme různé hodnoty. Pro První zaškrtnuto , které určuje, že prvek by měl být při načítání stránky předem vybrán (v tomto případě přepínač s hodnotou yes ). Kromě toho jsme pro přepínače zadali globální atributy, které definují jedinečný identifikátor prvku.
Umístěny dva prvky , které definují textové popisky pro naše textová pole. Všimněte si, že jsme použili atribut for k určení, ke kterému prvku formuláře aktuální štítek patří. Hodnota atributu for odpovídá hodnotě globálního atributu přepínače, který potřebujeme.
Uvnitř druhý formuláře:
Vyslán dva přepínače ( ) vyberte jednu z omezeného počtu možností. Pro druhý Pro přepínače jsme zadali atribut zaškrtnuto, který označuje, že prvek by měl být při načítání stránky předem vybrán (v tomto případě přepínač s hodnotou ne ). Kromě toho jsme zadali jedinečné hodnoty pro přepínače ve formuláři a stejné názvy.
Umístěny dva prvky , umístili jsme do nich naše přepínače. Na rozdíl od předchozí metody není potřeba u přepínacích tlačítek zadávat globální atributy (identifikátor prvku) a k odkazování na ně používat atribut for pro textové štítky (vytvářet vazbu).
V prohlížeči vypadají obě možnosti (metody) použití textových štítků identicky:
Popisek pro vstupní pole
Podívejme se na příklad použití:
Příklad použití zástupného atributu
V v tomto příkladu jsme specifikovali pro prvek se zadáním textu (jednořádkové textové pole) a zadáním hesla (pole hesla), textovou výzvou pro uživatele (atribut zástupného symbolu), který popisuje očekávanou hodnotu pro vstup.
Výsledek našeho příkladu:
Otázky a úkoly k tématu
Než přejdete k dalšímu tématu, dokončete cvičný úkol:
S využitím znalostí, které jste získali, vytvořte následující objednávkový formulář:
Upozornění: v polích, kde se očekává výběr, by mělo být možné vybírat kliknutím na text, nikoli pouze na prvek samotný.
Po dokončení cvičení zkontrolujte kód stránky otevřením příkladu v samostatném okně, abyste se ujistili, že jste vše udělali správně.
Pomocí nástrojů HTML můžete vytvářet formuláře pro návštěvníky k zadávání informací na webové stránce.
Štítek
accept-charset Seznam kódování pro vstupní data akceptovaná serverem zpracovávajícím tento formulář. Pomáhá v situacích, kdy jsou webové stránky v jednom kódování, ale data je třeba odeslat v jiném. Nebo když prohlížeč automaticky nesprávně zjistil kódování. Například: accept-charset="cp1251" nebo accept-charset="utf8". akce Název programu, který bude formulář zpracovávat. enctype Typ obsahu (metoda kódování). Pokud například formulář obsahuje soubory, pak enctype="multipart/form-data". (Výchozí enctype="application/x-www-form-urlencoded"). metoda Způsob přenosu dat z formuláře do zpracovatelského programu. Může nabývat následujících hodnot: dostat nebo pošta. Použitím dostat prohlížeč zakóduje data přijatá od uživatele a přidá je k hodnotě atributu akce dvojice jméno=hodnota. Data jsou oddělena od hodnoty atributu akce otazník (?). pošta Použitím
data jsou přenášena samostatně. jméno Název formuláře. Nastavte pro JavaScript, aby bylo možné přistupovat k formuláři podle jména, nikoli podle čísla. novalidate Přítomnost tohoto atributu znamená, že data formuláře by neměla být ověřována. onsubmit JavaScript handler pro kontrolu, zda je formulář správně vyplněn. Protože se obslužná rutina JavaScriptu spouští lokálně, proces probíhá poměrně rychle. To je mnohem lepší než opakované odesílání dat přes síť, protože uživatel s chybou opět vyplnil některé pole nesprávně. cíl Rámec, kam se mají odeslat přijaté informace (nastaveno v dokumentech obsahujících rámec).
Příklad
...tvarové prvky...
…
Kontejner
neexistuje sama o sobě. Odesílaná data jsou obsažena ve speciálních formulářových prvcích - ovládacích prvcích. Právě s nimi uživatel komunikuje zadáváním dat.