SpookBlog

Hoofdmenu

Contactformulier HTML+PHP+SQL


Dit is een korte handleiding over hoe een contactformulier met controle op je webpagina te krijgen. Het gebruikt PHP en slaat de gegevens op in een SQL database. Er wordt van uit gegaan dat je je eigen CSS gebruikt om het contactformulier op te maken.
HTML
Maak het bestand contact.html met de volgende code.
<form action="bedankt.php" method="post">

Naam:<input type="text" name="u_naam" required><br>
Email:<input type="email" name="u_email" required><br>
Onderwerp:<input type="text" name="u_onderwerp" required><br>
Bericht: <input type="text" name="u_bericht" required><br>
<input type="submit" value="Verzend"><br>
</form>

Opzetten SQL Database
Maak een database aan met een zinvolle naam, bijvoorbeeld reacties met de opzet utf8_general_ci.
Maak hierin een tabel aan met een zinvolle naam bijvoorbeeld tb_form. Maak nu in deze tabel de volgende velden aan:
  • ID (integer auto_increment)
  • naam (text)
  • email (text)
  • onderwerp (text)
  • bericht (text)

  • PHP link met de database maken
    Maak een php bestand aan in dezelfde directory als waar je html staat en noem het dbconnect.php.
    <?php
    
    function Connect()
    // Vul hier de gegevens in om contact te maken met je database. Localhost is alleen als je een locale server hebt zonder wachtwoord.
    {
    $dbhost = "localhost";
    $dbuser = "root";
    $dbpass = "";
    $dbname = "reacties";
    // Maken van de connectie met de database
    $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
    return $conn;
    } ?>

    'Bedankt'-pagina en foutcontrole
    Maak een nieuw php bestand en noem het bedankt.php. Als er een fout is onstaan in dbconnect.php zal er een foutmelding getoond worden.
    <?php
    
    require 'dbconnect.php';
    $conn = Connect();
    $naam = $conn->real_escape_string($_POST['u_naam']);
    $email = $conn->real_escape_string($_POST['u_email']);
    $onderwerp = $conn->real_escape_string($_POST['u_onderwerp']);
    $bericht = $conn->real_escape_string($_POST['u_bericht']);
    //plaatsen van de gegevens in de database
    $query = "INSERT into tb_form (naam,email,onderwerp,bericht) VALUES('" . $naam . "','" . $email . "','" . $onderwerp . "','" . $bericht . "')";
    $success = $conn->query($query);
    if (!$success) { die("Fout: ".$conn->error); }
    echo "Bedankt voor uw bericht. <br>";
    $conn->close();
    ?>

    Uitvoeren
    Als je bovenstaande bestanden in de directory /contact gezet hebt kun je ze nu uitvoeren met localhost/contact/contact.html.




    Nog geen reacties