Wat er gebeurt als iemand een formulier verzendt

Een formulier verzenden is gegevens van een gebruiker naar je server sturen. Leer wat er achter de schermen gebeurt en hoe formuliergegevens reizen.

Wat gebeurt er in die ene seconde nadat iemand op verzenden klikt in je formulier? De meeste mensen denken er nooit over na. Formulierverzending is onzichtbaar voor je bezoekers, maar alles voor je systemen. Op het moment dat iemand op verzenden klikt, begint een reeks gebeurtenissen die de meeste mensen nooit zien. Je gegevens worden gevalideerd, gecodeerd, verstuurd, ontvangen, verwerkt en opgeslagen.

Gaat er in die seconde iets mis, dan moet je weten waar. Dit artikel loopt elke stap van het verzendproces door, zodat je begrijpt wat er na de klik gebeurt.

Wat is formulierverzending

Formulierverzending is het proces waarbij de gegevens die een bezoeker in je formuliervelden invulde, worden verzameld en naar een bestemming worden gestuurd voor verwerking. De verzending gebeurt als een gebruiker op een verzendknop klikt (of op Enter drukt in een tekstveld) en zo een HTTP-verzoek start dat de antwoorden van de bezoeker naar je server of een externe dienst brengt.

Het verzendproces bestaat uit meerdere stappen: gegevens verzamelen, coderen, versturen, valideren, verwerken en antwoorden. Elk van deze stappen moet slagen om de verzending goed te laten werken.

Hoe formulierverzending stap voor stap werkt

Klikt een bezoeker op verzenden, dan volgt een vaste reeks. Elke stap begrijpen helpt je bij het oplossen van problemen met koppelingen en het goed instellen van automatiseringen.

Stap 1: de verzendgebeurtenis start

Klikt een gebruiker op de verzendknop of drukt hij op Enter in bepaalde velden, dan maakt het formulier een verzendgebeurtenis aan. Dit signaal laat de browser alle gegevens verzamelen die in de velden van het formulier zijn ingevoerd en klaarmaken voor verzending.

Stap 2: formuliergegevens worden verzameld

De browser leest elk veld in je formulier (tekstvelden, keuzelijsten, selectievakjes, bestandsuploads enzovoort) en haalt de waarden eruit. De gegevens van elk veld worden gekoppeld aan het name-attribuut, waardoor sleutel-waardeparen ontstaan. Heb je bijvoorbeeld een veld met de naam “email” met de waarde “jane@example.com”, dan legt de browser dat vast als een paar.

Is een veld leeg gelaten, dan verzamelt het formulier het toch (sommige systemen negeren lege velden, afhankelijk van hoe het formulier is ingesteld).

Stap 3: gegevens worden gecodeerd

Voordat de gegevens over het internet kunnen reizen, moeten ze worden vertaald naar een formaat dat de webserver begrijpt. Dit heet coderen. De twee meest gebruikte coderingsformaten zijn:

URL-gecodeerd (application/x-www-form-urlencoded): veldnamen en waarden worden gecombineerd met gelijktekens en ampersands. Bijvoorbeeld: “name=Jane&email=jane@example.com&phone=555-0123”. Dit is de standaard voor de meeste formulieren.

Multipart/form-data: gebruikt als je formulier bestandsuploads bevat. Dit formaat laat zowel tekst als binaire gegevens (zoals afbeeldingen) samen verzenden.

Stap 4: gegevens reizen naar de server

De gecodeerde formuliergegevens worden verpakt in een HTTP-verzoek en gestuurd naar de locatie die in het action-attribuut van je formulier staat. Is er geen action opgegeven, dan wordt het formulier verzonden naar dezelfde pagina als waarop het staat.

Het HTTP-verzoek bevat de methode die je opgaf: GET of POST. GET-verzoeken zijn zichtbaar in de URL (gebruikt voor zoekopdrachten en filters). POST-verzoeken verbergen de gegevens in de body van het verzoek (gebruikt voor gevoelige informatie zoals wachtwoorden of betaalgegevens).

Wordt je formulier verzonden via HTTPS (zoals alle moderne formulieren zouden moeten doen), dan worden de gegevens tijdens het versturen versleuteld. Zo is de informatie veilig tegen onderschepping.

Stap 5: de server ontvangt en valideert de gegevens

Ontvangt je server de verzending, dan controleert hij eerst of de gegevens geldig en veilig zijn. Validatie kan omvatten:

Bevestigen dat verplichte velden niet leeg zijn. Controleren dat e-mailadressen op echte e-mailadressen lijken. Verifiëren dat bestandsuploads het juiste type en de juiste grootte hebben. Testen dat getallen echt getallen zijn en geen tekst.

Opschonen is het verwijderen van alles wat gevaarlijk is uit de gegevens (zoals kwaadaardige scripts). Dat beschermt je database en je systemen tegen aanvallen.

Stap 6: de server verwerkt de gegevens

Na validatie en opschonen beslist de server wat hij met de gegevens doet. Gangbare acties zijn:

Opslaan in een database: de verzending wordt bewaard, zodat je hem later kunt bekijken of koppelen aan andere systemen.

Automatiseringen starten: de verzending kan automatisch een bevestigingsmail sturen, een CRM bijwerken of een webhook starten.

Een antwoord genereren: de server maakt een antwoord aan en stuurt dat terug naar de browser van de bezoeker. Dat kan een succespagina zijn, een doorverwijzing of een bevestigingsbericht op dezelfde pagina.

Stap 7: de bezoeker ziet een bevestiging

De laatste stap is wat de bezoeker ervaart. Dat kan zijn:

Een succesbericht op dezelfde pagina. Een doorverwijzing naar een bedankpagina. Een bevestigingsmail in zijn inbox. Een venster of pop-up die bevestigt dat de verzending is gelukt.

Deze stap is cruciaal, omdat bezoekers moeten weten dat hun verzending gelukt is. Zonder duidelijke feedback verzenden ze het formulier misschien meerdere keren omdat ze denken dat het niet gelukt is.

Wat er na het verzenden met je formuliergegevens gebeurt

Is de verzending klaar, dan gaan de gegevens ergens heen. Weten waarheen is essentieel om formulierinzendingen goed te gebruiken.

Je formuliergegevens kunnen op meerdere plekken tegelijk worden opgeslagen. De meeste formulierbouwers bewaren inzendingen standaard in hun eigen database (waar je ze in het beheerdashboard bekijkt). Tegelijk kan de inzending via koppelingen en webhooks worden doorgestuurd naar externe diensten zoals e-mailmarketingplatforms, CRM-systemen of eigen applicaties.

De stroom ziet er zo uit: formulierverzending → formulierbouwer legt gegevens vast → gegevens worden lokaal opgeslagen en doorgestuurd naar koppelingen → je kunt de gegevens vanaf meerdere platforms bekijken.

De rol van formuliervelden bij verzending

Niet alle formuliervelden gedragen zich hetzelfde bij verzending. Begrijpen hoe elk type werkt, helpt je formulieren te ontwerpen die de juiste gegevens vastleggen.

Tekstvelden, tekstgebieden, e-mailvelden: verzenden hun waarde precies zoals ingevoerd.

Keuzelijsten en selectievelden: verzenden de waarde van de gekozen optie, niet de weergegeven tekst (al kunnen die hetzelfde zijn).

Selectievakjes: verzenden alleen een waarde als ze zijn aangevinkt. Niet-aangevinkte vakjes sturen niets.

Keuzerondjes: verzenden alleen de waarde van de gekozen optie.

Bestandsuploads: verzenden het bestand zelf, niet alleen de naam. Het bestand zit in de eerder genoemde multipart-codering.

Verborgen velden: verzenden hun waarde automatisch zonder dat de bezoeker ze ziet. Handig om extra informatie naast zichtbare velden mee te sturen.

Fouten die kunnen optreden bij formulierverzending

Soms worden formulieren niet goed verzonden. Veelvoorkomende problemen zijn:

Netwerkfouten: valt de internetverbinding weg tijdens het verzenden, dan bereiken de gegevens de server mogelijk niet. De bezoeker hoort een foutmelding te zien.

Serverfouten: ligt je server eruit of is hij overbelast, dan kan de verzending niet worden verwerkt. Dit leidt meestal tot een 500-fout.

Validatiefouten: zijn verplichte velden leeg of komen gegevens niet overeen met verwachte formaten, dan hoort het formulier helemaal niet te worden verzonden. Goed formulierontwerp voorkomt dit door vóór het verzenden te controleren.

Time-outfouten: duurt de verzending te lang (meestal meer dan 30 seconden), dan kan de browser het verzoek annuleren.

Verkeerd ingestelde koppelingen: is je formulier ingesteld om gegevens naar een externe dienst te sturen maar is de verbinding verbroken, dan kan de verzending in je formulierbouwer slagen maar de bestemming niet bereiken.

Beveiliging bij formulierverzending

Beveiliging telt in elke fase van het verzendproces. Dit zijn de kritieke punten:

Gebruik altijd HTTPS: je formulier moet op een beveiligde (HTTPS) pagina staan, niet op HTTP. Dat versleutelt gegevens onderweg.

Valideer aan beide kanten: validatie moet zowel in de browser (voor gebruikservaring) als op de server (voor beveiliging) gebeuren. Vertrouw nooit alleen op validatie aan de kant van de gebruiker.

Schoon alle invoer op: verwijder of escape alle tekens die gevaarlijk kunnen zijn bij opslag of weergave.

Beperk bestandsuploads: accepteert je formulier bestanden, beperk dan bestandstypen en groottes om misbruik te voorkomen.

Gebruik CSRF-bescherming: formulieren horen een CSRF-token te bevatten om te voorkomen dat aanvallers namens gebruikers frauduleuze verzoeken indienen.

Sla gevoelige gegevens veilig op: verzamelt je formulier wachtwoorden, betaalgegevens of andere gevoelige gegevens, dan moeten die versleuteld worden opgeslagen (versleuteld in je database).

Hoe WEMASY formulierverzendingen afhandelt

De formulierentool van WEMASY regelt het hele verzendproces voor je. Verzendt een bezoeker een formulier op je WEMASY-website, dan wordt de inzending automatisch vastgelegd en opgeslagen in je WEMASY-account. Vanaf daar bekijk je inzendingen in je dashboard, exporteer je ze als CSV of koppel je integraties om de gegevens door te sturen naar je CRM, e-mailplatform of eigen applicaties.

WEMASY regelt alle technische complexiteit van validatie, codering, veilig versturen en opslag. Jij richt je op het ontwerp van het formulier en het instellen van waar de gegevens heen gaan. Bekijk welke integraties beschikbaar zijn in je WEMASY-account of kijk op de prijspagina welke formulierfuncties in je abonnement zitten.

Veelgestelde vragen

Moet ik GET of POST gebruiken voor mijn formulier?
POST is de veilige keuze voor bijna alle formulieren. Gebruik GET alleen voor zoek- of filterformulieren waarbij je de zoekopdracht in de URL zichtbaar wilt hebben. POST verbergt je gegevens in de body van het verzoek en is daarmee de juiste methode voor contactformulieren, registraties en elk formulier dat persoonlijke gegevens verzamelt. Weet je het niet zeker, gebruik dan POST. Met de websitebouwer van WEMASY zet je dit direct op je website op.
Wat gebeurt er als iemand zijn internetverbinding verliest tijdens het verzenden?
Valt de verbinding weg tijdens het verzenden, dan bereikt het verzoek je server mogelijk niet. De bezoeker ziet meestal een verbindingsfout. De gegevens worden niet verzonden tenzij de verzending volledig slaagt. Daarom slaat goed formulierontwerp gegevens lokaal (in de browser) op voordat het verzenden wordt geprobeerd, zodat bezoekers het opnieuw kunnen proberen zonder alles opnieuw in te vullen.
Kan iemand per ongeluk een formulier twee keer verzenden?
Ja, en dat gebeurt vaak. Ziet een bezoeker niet direct een bevestiging, dan klikt hij misschien nogmaals op verzenden omdat hij denkt dat de eerste poging niet werkte. Dat geeft dubbele inzendingen. Voorkom dit door de verzendknop uit te schakelen na het klikken, een laadstatus te tonen of dubbele detectie op de server in te stellen die dezelfde verzending herkent als die twee keer is gestuurd en maar één registratie bewaart.
Moet ik formuliergegevens valideren als ik ze al met JavaScript controleer?
Ja. Validatie aan de kant van de gebruiker (in JavaScript) is voor de gebruikservaring: ze vangt fouten op vóór het verzenden. Maar bezoekers kunnen die validatie omzeilen door de code in hun browser te bewerken. Valideer daarom altijd opnieuw op de server. Validatie op de server is je beveiligingscontrole. Gebruik beide samen: JavaScript voorkomt eerlijke fouten, de server voorkomt kwaadaardige verzendingen.
Welke informatie moet ik eigenlijk in mijn formulier verzamelen?
Verzamel alleen wat je nu nodig hebt. Elk veld dat je toevoegt, verhoogt het afhaken. De meeste eerste formulieren hebben alleen naam, e-mailadres en één specifieke vraag nodig die past bij waarom ze verzenden. Je kunt later om meer informatie vragen via opvolgmails of een tweede formulier. Begin minimaal en voeg alleen velden toe als data laat zien dat je ze nodig hebt.
Kan een formulierverzending bij mij mislukken maar op de server slagen?
Ja, dit gebeurt als de gegevens je server bereiken en succesvol worden verwerkt, maar de bezoeker de bevestiging niet ontvangt (misschien viel zijn internet weg nadat de verzending klaar was). Vanuit jouw kant is de verzending vastgelegd. De bezoeker weet nooit dat het gelukt is. Daarom zijn e-mails na verzending en duidelijke succesberichten belangrijk: ze bevestigen aan bezoekers dat hun verzending is ontvangen.

Zet het meteen
in je eigen website.

Start gratis met WEMASY en bouw je site in een paar minuten.