Beste allemaal,

Allereerst even voorstellen als nieuw lid van het forum.
Mijn naam is Bas, 26 jaartjes jong en beginnend front-end develloper.

Nu mijn probleem.
Ik ben begonnen met een website waar een contact formulier in verwerkt. Dit formulier is in de HTML gezet en gekoppeld aan een externe PHP sheet.
Helaas krijg ik de mails blanco binnen en na een test om alle variabelen alleen uit te printen op het scherm zijn deze leeg. WAT DOE IK FOUT?

Hieronder het contact formulier in de HTML(bootstrap):

<form class="form-horizontal" action="form.php" method="post">

<fieldset>
<legend class="text-center">Neem gerust contact op!</legend>

<!-- Name input-->
<div class="form-group">
<label class="col-md-3 control-label" for="name">Voornaam</label>
<div class="col-md-9">
<input id="name" name="voornaam" type="text" placeholder="Je voornaam" class="form-control">
</div>
</div>

<div class="form-group">
<label class="col-md-3 control-label" for="name">Achternaam</label>
<div class="col-md-9">
<input id="name" name="achternaam" type="text" placeholder="Je achternaam" class="form-control">
</div>
</div>

<!-- Email input-->
<div class="form-group">
<label class="col-md-3 control-label" for="email">E-mail</label>
<div class="col-md-9">
<input id="email" name="email" type="text" placeholder="Je e-mail" class="form-control">
</div>
</div>

<!-- Message body -->
<div class="form-group">
<label class="col-md-3 control-label" for="message">Bericht</label>
<div class="col-md-9">
<textarea class="form-control" id="message" name="bericht" placeholder="Plaats hier jouw bericht" rows="5"></textarea>
</div>
</div>

<!-- Form actions -->
<div class="form-group">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-primary btn-lg">Submit</button>
</div>
</div>
</fieldset>

</form>

en hier de PHP externe sheet (form.php):

<?php

$voornaam = $_post['voornaam'];
$achternaam = $_post['achternaam'];
$bezoekersemail = $_post['email'];
$to = '[email protected]';
$onderwerp = 'Nieuw bericht van: ' . $bezoekersemail;
$inhoud = 'Bericht afkomstig van: ' . $voornaam .' '. $achternaam . '<br/> Bericht: ' . $bericht;
$headers = 'From: [email protected]';
$headers .= 'Reply-to: '. $bezoekersemail;

echo $voornaam . $achternaam . $bezoekersemail . $bericht . $to . $onderwerp . $inhoud . $headers;

?>

Echter zijn de volgende variabelen leeg: $voornaam $achternaam $bezoekersemail.
Het kan zijn dat ik iets verkeerd heb gedaan in mijn HTML, maar ik kan het niet vinden.
Ik hoop op een antwoord en alvast bedankt!!

Bas
$bericht = $_post['bericht'];
$_post moet altijd met hoofdletters $_POST dus.
$_POST moet met hoofdletters. Indien je error_reporting aanzet boven in je script dan zul je ook nog wat foutmeldingen krijgen en dat helpt je natuurlijk enorm

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
Je gebruikt bij meerdere inputs het id "name", een ID moet ALTIJD uniek zijn.

Verder wordt bij $_POST volgens mij de ID als index/sleutel overgedragen en niet de name.

dus $_POST['name'] in plaats van $_POST['voornaam'] gebruiken.
Mensen, ontzettend bedankt.. Het is gelukt. Het probleem was inderdaad $_POST.
Nogmaals enorm bedankt!

Reageren