Co se stane, když někdo odešle formulář

Odeslání formuláře znamená, že uživatel pošle data přes formulář na váš server. Zjistěte, co se děje v zákulisí a jak data putují.

Koncept

Co se stane v té jedné vteřině poté, co někdo klikne na odeslat? Většina lidí o tom nikdy nepřemýšlí. Odeslání formuláře je pro vaše návštěvníky neviditelné, ale pro vaše systémy znamená všechno. V okamžiku, kdy někdo klikne na odeslat, začne řetězec událostí, který většina lidí nikdy nevidí. Vaše data se ověřují, kódují, putují, přijímají, zpracovávají a ukládají.

Když se v té vteřině něco pokazí, musíte vědět kde. Tento článek prochází každý krok procesu odeslání, abyste pochopili, co se děje po kliknutí.

Co je odeslání formuláře

Odeslání formuláře je proces, při kterém se shromáždí data, která návštěvník zadal do polí formuláře, a odešlou se na místo určení ke zpracování. K odeslání dojde, když uživatel klikne na tlačítko odeslat (nebo stiskne Enter v textovém poli), čímž se spustí požadavek HTTP, který odpovědi návštěvníka doručí na váš server nebo do služby třetí strany.

Proces odeslání formuláře zahrnuje několik kroků: shromáždění dat, kódování, přenos, ověření, zpracování a odpověď. Každý z těchto kroků musí proběhnout úspěšně, aby odeslání fungovalo správně.

Jak odeslání formuláře funguje krok za krokem

Když návštěvník klikne na odeslat, odehraje se přesně daná posloupnost. Pochopení každého kroku vám pomůže řešit problémy s integrací a správně nastavit automatizace.

Krok 1: Spustí se událost odeslání

Když uživatel klikne na tlačítko odeslat nebo stiskne Enter v určitých polích, formulář vytvoří událost odeslání. Tato událost dá prohlížeči signál, aby shromáždil všechna data zadaná do polí formuláře a připravil je k přenosu.

Krok 2: Data formuláře se shromáždí

Prohlížeč přečte každé pole ve vašem formuláři (textová pole, rozbalovací seznamy, zaškrtávací políčka, nahrání souborů atd.) a získá jejich hodnoty. Data každého pole se spárují s jeho atributem name, čímž vzniknou dvojice klíč a hodnota. Pokud máte například pole s názvem „email“ a hodnotou „jane@example.com“, prohlížeč to zaznamená jako dvojici.

Pokud je pole prázdné, formulář ho přesto zachytí (některé systémy prázdná pole ignorují, podle toho, jak je formulář nastavený).

Krok 3: Data se zakódují

Než mohou data putovat internetem, musí se převést do formátu, kterému webový server rozumí. Tomu se říká kódování. Dva nejběžnější formáty kódování jsou:

URL-encoded (application/x-www-form-urlencoded): Názvy polí a hodnoty se spojí pomocí znamének rovná se a ampersandů. Například: „name=Jane&email=jane@example.com&phone=555-0123“. Toto je výchozí formát u většiny formulářů.

Multipart/form-data: Používá se, když formulář obsahuje nahrávání souborů. Tento formát umožňuje poslat společně textová i binární data (například obrázky).

Krok 4: Data putují na server

Zakódovaná data formuláře se zabalí do požadavku HTTP a odešlou na místo uvedené v atributu action vašeho formuláře. Pokud action není uvedena, formulář se odešle na stejnou stránku, na které je.

Požadavek HTTP obsahuje metodu, kterou jste určili: GET nebo POST. Požadavky GET jsou vidět v URL (používají se pro vyhledávání a filtry). Požadavky POST skrývají data v těle požadavku (používají se pro citlivé informace, jako jsou hesla nebo platební údaje).

Pokud se váš formulář odesílá přes HTTPS (což by měly všechny moderní formuláře), jsou data během přenosu šifrovaná. Informace jsou tak chráněné před zachycením.

Krok 5: Server data přijme a ověří

Když váš server odeslání přijme, nejdřív zkontroluje, zda jsou data platná a bezpečná. Ověření může zahrnovat:

Potvrzení, že povinná pole nejsou prázdná. Kontrolu, že e-mailové adresy vypadají jako skutečné e-mailové adresy. Ověření, že nahrané soubory mají správný typ a velikost. Test, že čísla jsou opravdu čísla, ne text.

Sanitizace je proces odstranění všeho nebezpečného z dat (například škodlivých skriptů). Chrání vaši databázi a vaše systémy před útoky.

Krok 6: Server data zpracuje

Po ověření a sanitizaci server rozhodne, co s daty udělá. Běžné akce zahrnují:

Uložení do databáze: Odeslání se uloží, abyste si ho mohli později prohlédnout nebo ho propojit s jinými systémy.

Spuštění automatizací: Odeslání může automaticky poslat potvrzovací e-mail, aktualizovat CRM nebo spustit webhook.

Vytvoření odpovědi: Server vytvoří odpověď a pošle ji zpět do prohlížeče návštěvníka. Může to být stránka s potvrzením, přesměrování nebo potvrzující zpráva zobrazená na stejné stránce.

Krok 7: Návštěvník vidí potvrzení

Poslední krok je to, co návštěvník zažije. Může to být:

Zpráva o úspěchu zobrazená na stejné stránce. Přesměrování na stránku s poděkováním. Potvrzovací e-mail odeslaný do schránky. Modální okno nebo vyskakovací okno potvrzující, že odeslání proběhlo.

Tento krok je zásadní, protože návštěvníci potřebují vědět, že jejich odeslání fungovalo. Bez jasné zpětné vazby mohou formulář odeslat vícekrát, protože si myslí, že neprošel.

Co se děje s daty formuláře po odeslání

Jakmile odeslání skončí, data putují někam dál. Pochopit kam, je nezbytné pro efektivní využití odeslaných formulářů.

Data formuláře mohou být uložena na více místech najednou. Většina tvůrců formulářů ukládá odeslání do vlastní databáze (kde je můžete prohlížet v administraci). Současně lze odeslání přeposlat externím službám, jako jsou platformy pro e-mailový marketing, systémy CRM nebo vlastní aplikace, pomocí integrací a webhooků.

Tok vypadá takto: Odeslání formuláře → Tvůrce formulářů zachytí data → Data se uloží lokálně a přepošlou do integrací → K datům máte přístup z více platforem.

Role polí formuláře při odeslání

Ne všechna pole formuláře se při odeslání chovají stejně. Pochopení, jak který typ funguje, vám pomůže navrhovat formuláře, které zachytí správná data.

Textová pole, textové oblasti, pole pro e-mail: Odešlou svou hodnotu přesně tak, jak byla zadána.

Rozbalovací seznamy a pole výběru: Odešlou hodnotu vybrané možnosti, ne zobrazený text (i když mohou být stejné).

Zaškrtávací políčka: Odešlou hodnotu, jen když jsou zaškrtnutá. Nezaškrtnutá políčka neodešlou nic.

Přepínače: Odešlou hodnotu jen vybrané možnosti.

Nahrání souborů: Odešlou samotný soubor, ne jen jeho název. Soubor je součástí kódování multipart zmíněného výše.

Skrytá pole: Odešlou svou hodnotu automaticky, aniž by je návštěvník viděl. Hodí se k předání dodatečných informací vedle viditelných polí.

Chyby, které mohou při odeslání formuláře nastat

Někdy se formuláře úspěšně neodešlou. Běžné problémy zahrnují:

Chyby sítě: Pokud se při odesílání přeruší připojení k internetu, data nemusí dorazit na server. Návštěvník by měl vidět chybovou hlášku.

Chyby serveru: Pokud je váš server nedostupný nebo přetížený, odeslání nelze zpracovat. Typicky to skončí chybou 500.

Selhání ověření: Pokud jsou povinná pole prázdná nebo data neodpovídají očekávaným formátům, formulář by se neměl odeslat vůbec. Dobrý návrh formuláře tomu předchází kontrolou před odesláním.

Chyby vypršení času: Pokud odeslání trvá příliš dlouho (obvykle déle než 30 sekund), prohlížeč může požadavek zrušit.

Špatně nastavené integrace: Pokud je váš formulář nastavený k odesílání dat do externí služby, ale spojení je přerušené, odeslání může v tvůrci formulářů uspět, ale cíle nedosáhnout.

Bezpečnost při odesílání formulářů

Bezpečnost je důležitá v každé fázi procesu odeslání. Zde jsou klíčové body:

Vždy používejte HTTPS: Váš formulář musí být na zabezpečené stránce (HTTPS), ne HTTP. Tím se data při přenosu šifrují.

Ověřujte na obou stranách: Ověření by mělo probíhat v prohlížeči (pro pohodlí uživatele) i na serveru (pro bezpečnost). Nikdy nespoléhejte jen na ověření na straně klienta.

Sanitizujte veškerý vstup: Odstraňte nebo escapujte všechny znaky, které by mohly být nebezpečné při uložení nebo zobrazení.

Omezte nahrávání souborů: Pokud váš formulář přijímá soubory, omezte typy a velikosti souborů, abyste zabránili zneužití.

Zavěďte ochranu CSRF: Formuláře by měly obsahovat token CSRF, který útočníkům brání odesílat podvodné požadavky jménem uživatelů.

Citlivá data ukládejte bezpečně: Pokud váš formulář sbírá hesla, platební údaje nebo jiná citlivá data, měla by být šifrovaná i při uložení (uložená v databázi v zašifrované podobě).

Jak WEMASY zpracovává odeslané formuláře

Nástroj Formuláře ve WEMASY řídí celý proces odeslání za vás. Když návštěvník odešle formulář na vašem webu ve WEMASY, odeslání se automaticky zachytí a uloží do vašeho účtu WEMASY. Odtud si můžete odeslání prohlížet v administraci, exportovat je jako CSV nebo propojit integrace, které data přepošlou do vašeho CRM, e-mailové platformy nebo vlastních aplikací.

WEMASY zvládá veškerou technickou složitost ověřování, kódování, zabezpečeného přenosu a ukládání. Vy se soustředíte na návrh formuláře a nastavení, kam data putují. Podívejte se, jaké integrace jsou ve vašem účtu WEMASY dostupné, nebo si prohlédněte ceník a zjistěte, jaké funkce formulářů obsahuje váš tarif.

Časté dotazy

Mám pro svůj formulář použít GET, nebo POST?
POST je bezpečná volba pro téměř všechny formuláře. GET použijte jen u formulářů pro vyhledávání nebo filtrování, kde chcete mít dotaz vidět v URL. POST skrývá vaše data v těle požadavku, a je proto správnou metodou pro kontaktní formuláře, registrace a každý formulář sbírající osobní údaje. Pokud si nejste jistí, použijte POST. S tvůrcem webů WEMASY to nastavíte přímo na svém webu.
Co se stane, když někomu při odeslání vypadne připojení k internetu?
Pokud se spojení během odesílání přeruší, požadavek nemusí dorazit na váš server. Návštěvník obvykle uvidí chybu připojení. Data se neodešlou, dokud odeslání plně neproběhne. Proto dobrý návrh formuláře ukládá data lokálně (v prohlížeči) ještě před pokusem o odeslání, aby mohli návštěvníci zkusit znovu, aniž by museli všechno zadávat znovu.
Může někdo omylem odeslat formulář dvakrát?
Ano, a stává se to často. Pokud návštěvník nevidí okamžité potvrzení, může kliknout na odeslat znovu, protože si myslí, že první pokus nefungoval. Vzniknou duplicitní odeslání. Abyste tomu předešli, zakažte tlačítko odeslat po kliknutí, zobrazte stav načítání, nebo zavěďte na serveru detekci duplicit, která pozná dvakrát odeslané stejné odeslání a ponechá jen jeden záznam.
Musím ověřovat data formuláře, když je už kontroluji v JavaScriptu?
Ano. Ověření na straně klienta (v JavaScriptu) slouží pohodlí uživatele: zachytí chyby před odesláním. Návštěvníci ale mohou ověření na straně klienta obejít úpravou kódu ve svém prohlížeči. Vždy ověřujte znovu na serveru. Ověření na serveru je vaše bezpečnostní kontrola. Používejte obojí dohromady: JavaScript předchází poctivým chybám, server zabraňuje škodlivým odesláním.
Jaké informace bych ve formuláři vlastně měl sbírat?
Sbírejte jen to, co potřebujete právě teď. Každé pole, které přidáte, zvyšuje počet odchodů. Většina prvních formulářů potřebuje jen jméno, e-mail a jednu konkrétní otázku související s tím, proč lidé formulář odesílají. Další informace můžete získat později v navazujících e-mailech nebo druhým formulářem. Začněte minimálně a pole přidávejte, jen když data ukážou, že je potřebujete.
Může odeslání formuláře u mě selhat, ale na serveru uspět?
Ano, stává se to, když data dorazí na váš server a úspěšně se zpracují, ale návštěvník potvrzení nedostane (třeba mu po dokončení odeslání vypadlo připojení). Z vašeho pohledu je odeslání zaznamenané. Návštěvník se nikdy nedozví, že prošlo. Proto jsou důležité e-maily po odeslání a jasné zprávy o úspěchu: potvrzují návštěvníkům, že jejich odeslání bylo přijato.

Využijte to hned
na vlastním webu.

Začněte zdarma s WEMASY a postavte si web za pár minut.