Hoe maak ik een formulier met PHP?

Belangrijk: Als je ons mailtje hebt gekregen over het updaten van websiteformulieren met FormMail.pl, volg dan deze handleiding om het oude script voor 30 november 2025 te vervangen door een modern, veilig alternatief. Als je site meerdere formulieren heeft die FormMail.pl gebruiken, moet elk formulier worden bijgewerkt.

Met een formulier kunnen bezoekers info rechtstreeks naar je e-mailadres sturen, of het nu een contact-, feedback- of bestelformulier is. In deze handleiding laten we je zien hoe je er een kunt maken met PHP en hoe je HTML en PHP-script kunt combineren.

Let op: De code die in deze handleiding wordt gebruikt, is maar een voorbeeld van hoe je het formulier kunt gebruiken.
Pas de verschillende velden en e-mailadressen aan zodat ze bij je website passen.


Stap 1 - Voeg de code voor het formulier toe aan het PHP-bestand

  1. Open het PHP-bestand waarin je het formulier wilt toevoegen of bewerken. Gebruik een teksteditor, zoals Kladblok /Notepad (Windows) of TextEdit (macOS), of een HTML-editor, zoals Visual Studio Code om te bewerken. 

    Tip: Als je huidige formulier in een .html-bestand zit, kun je het makkelijk omzetten naar een .php-bestand door gewoon de bestandsextensie te veranderen. Als het bestand bijvoorbeeld contact.html heet, hoef je het alleen maar te hernoemen naar contact.php.

    Let op dat het wijzigen van de bestandsnaam ook de URL van de pagina verandert. Vergeet dus niet om alle links die naar deze pagina verwijzen bij te werken om gebroken links (404-fouten) te voorkomen.

  2. Kopieer onderstaande code en plak die op de gewenste locatie in het PHP-bestand. Zorg ervoor dat het formulier in de <body>-sectie van het PHP-document wordt geplaatst.

    Klik om de code te tonen die je op je website kunt invoegen:

    • Code voor het formulier

      <?php
      // if "email" variable is filled out, send email
      if (isset($_REQUEST['email'])) {

      //Email information
      $to = "recipient@example.com";
      $subject = "Message from website";

      $message = "From: " . $_REQUEST['name'] . "<br>" .
      "Email: " . $_REQUEST['email'] . "<br>" .
      "Message:" . $_REQUEST['message'];

      $headers = [
      'From' => 'sender@example.com',
      'X-Sender' => 'sender@example.com',
      'X-Mailer' => 'PHP/' . phpversion(),
      'X-Priority' => '1',
      'MIME-Version' => '1.0',
      'Content-Type' => 'text/html; charset=utf-8'
      ];

      //Send email
      mail($to, $subject, $message, $headers);

      //Email response
      echo "Thank you for contacting us!"; }

      //if "email" variable is not filled out, display the form
      else { ?>

      <form method="post" >
      <label for="name">Name* </label><br />
      <input name="name" required="true" /><br />

      <label for="email">Email* </label><br />
      <input name="email" required="true" /><br />

      <label for="message">Your message*</label><br />
      <textarea cols="100" rows="10" name="message" required="true"></textarea><br />

      <p><small>* Required fields</small></p>

      <input type="submit" value="Send" />
      </form>


      <?php } ?>

Stap 2 - Pas de code aan en personaliseer het formulier

Screenshot van de code voor het formulier.


Noodzakelijke wijzigingen aan het formulier:

regel 6 → Vervang het e-mailadres door het e-mailadres waarop je formulierinzendingen wilt ontvangen.

regel 14 → Dit is het afzenderadres. Dit moet een e-mailadres op jouw domein zijn. Bijvoorbeeld, voor one-example.com moet het een @one-example.com-adres zijn.

regel 15 → Dit is het e-mailadres waar de antwoorden naartoe gaan.

Tip: We raden aan om dezelfde e-mailadressen te gebruiken om te voorkomen dat e-mails niet in spam terechtkomen.

Personalisatie en optionele wijzigingen aan het formulier:

regel 7 → Dit is de onderwerpregel van de e-mail.

regel 26 → Dit is het bedankbericht aan de afzender van het formulier.

regels 32, 35, 38 → Dit is de tekst boven de invoervelden. Als een veld verplicht is, voeg dan handmatig een sterretje (*) toe. 

In de regels eronder, regel 33, 36 en 39, staat de code die het veld verplicht maakt. Wil je dit uitschakelen, verander dan "true" in "false":

required="true"

regel 41 → Deze tekst wordt onder het formulier weergegeven en kan elk bericht zijn, meestal gebruikt om te verwijzen naar het sterretje (*) voor de verplichte invoervelden (in ons voorbeeld regels 32, 35 en 38).

regel 43 → Dit is de tekst op de verzendknop.

regels 2, 5, 22, 25, 28 zijn alleen comment-regels en kun je eventueel verwijderen. 


Stap 3 - Wijzigingen opslaan en uploaden

  1. Sla de wijzigingen in het PHP-bestand op nadat je de code van het formulier hebt toegevoegd of gewijzigd.
  2. Upload vervolgens het bijgewerkte PHP-bestand naar je webruimte met een SFTP-client of one.com's File Manager.

Stap 4 - Test het formulier

Om ervoor te zorgen dat het nieuwe formulier correct werkt, open je je website in een browser en ga naar de pagina met het contactformulier. Vul testgegevens in en verzend het formulier met de knop. Controleer daarna het opgegeven e-mailadres om te bevestigen dat het testbericht goed is ontvangen.

 

Gerelateerde artikelen:

Was dit artikel nuttig?

Kun je het antwoord niet vinden?

Start een chat

De snelste manier om contact op te nemen — op werkdagen van 09:00 tot 18:00.

Bellen kan ook!

Beschikbaar op werkdagen van 09:00 tot 16:00.