PHP mailform werkt niet

Status
Niet open voor verdere reacties.

leeuw101

Gebruiker
Lid geworden
26 nov 2012
Berichten
12
Ik ben beginnend met websites bouwen nu heb ik met html en ccs een site gemaakt.
het enige wat ik maar niet werkend krijg is het mailform met php script. Mijn hosting provider ondersteunt dit wel dus daar kan het niet aan liggen.
Ik krijg steeds deze melding



Kan de pagina niet weergeven



HTTP 500

Meest waarschijnlijke oorzaken:
•Aan deze website wordt gewerkt.
•De website bevat een programmeerfout.

Ik heb ondersteende script in gebruik.

php script


<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$naar = 'hier staat het e-mail adres';
$onderwerp = Contactformulier leeuwenburg elektro';



$headers = "MIME-version: 1.0\r\n";
$headers .= "content-type: text/html;charset=utf-8\r\n";

if(isset($_POST['versturen']))
{
$voornaam = ($_POST['voornaam']);
$achternaam = ($_POST['achternaam']);
$telefoonnummer = ($_POST['telefoonnummer']);
$email = ($_POST['email']);
$bericht = ($_POST['bericht']);
$fout = false;

if(empty($voornaam))
{
print '<p>Helaas, het voornaam veld is verplicht maar is nu niet ingevuld!</p>';
$fout = true;
}
if(empty($achternaam))
{
print '<p>Helaas, het achternaam veld is verplicht maar is nu niet ingevuld!</p>';
$fout = true;
}
if(empty($telefoonnummer))
{
print '<p>Helaas, het telefoonnummer veld is verplicht maar is nu niet ingevuld!</p>';
$fout = true;
}

if(empty($email))
{
print '<p>Helaas, het email veld is verplicht maar is nu niet ingevuld!</p>';
$fout = true;
}
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
print '<p>Helaas, het email adres is niet correct!</p>';
$fout = true;
}
if(empty($bericht))
{
print '<p>Helaas, het bericht veld is verplicht maar is nu niet ingvuld!</p>';
$fout = true;
}

if($fout == false)
{
$headers .= 'From: ' . $voornaam . ' ' . $achternaam . '<' . $email . '>';

if($naar, $onderwerp, ($bericht), $headers))
{
print '<p>Het bericht is succesvol verzonden!</p>';
}
else
{
print '<p>Helaas, er is wat fout gegaan tijdens het verzenden van het formulier.</p>';
}

}
?>


html code

<form method="post" action="contactformulier.php">

<input type="hidden" name="PHORM_CONFIG" value="quickconfig.php">

<label for="Voornaam"> Voornaam:</label>
<input type="text" name="Voornaam" size="20" maxlength="40"
<br />
<br />
<label for="Achternaam">Achternaam</label>
<input type=text name="Achternaam" size="20" maxlength="60"
<br />
<br />
<label for="Adres">Adres</label>
<input type=text name="Adres" size="20" maxlength="40">
<br />
<br />
<label for="Postcode">Postcode</label>
<input type=text name="Postcode" size="20" maxlength="40"
<br />
<br />
<label for="Woonplaats">Woonplaats</label>
<input type=text name="Woonplaats" size="20" maxlength="40"
<br />
<br />
<label for="Telefoonnummer">Telefoonnummer</label>
<input type=text name="Telefoonnummer" size="20" maxlength="40"
<br />
<br />
<label for='Vragen of opmerkingen'>Vragen of opmerking</label>
<textarea rows="7" cols="25" name="Vragen of opmerkingen"></textarea>
<input type="submit" value="Verzenden">
</form>

Heb al zo zitten zoeken en andere script geprobeerd maar kom er niet uit.
Weet iemand waar ik fout zit???
 
De bestandsnamen staan goed. gewoon .html en .php achter de bestandsnaam. Deze zijn wel beide met succes geupload maar functioneren niet.
Zijn er nog andere zaken die ik wellicht had moeten uploaden. website ziet er verder volgens mij goed uit.
 
ik doe het altijd in 1 bestand zetten. en dan zonde action. gewoon weglaten.
if(isset($_POST['submitbutton']))
{
//doe de checks en verzend.
}
else
{
echo de form
}
nu wordt je namelijk geredirect naar die andere page. dat is niet de bedoeling denk
 
Ik heb ook nog een andere fout gevonden

Code:
$onderwerp = Contactformulier leeuwenburg elektro';

Hier ben je een apostrof vergeten en wordt dus

Code:
$onderwerp = 'Contactformulier leeuwenburg elektro';


edit :

dit stuk code

Code:
$voornaam = ($_POST['voornaam']); 
 $achternaam = ($_POST['achternaam']); 
 $telefoonnummer = ($_POST['telefoonnummer']);
 $email = ($_POST['email']); 
 $bericht = ($_POST['bericht']);

Waarom plaats je alles tussen haakjes. Ik zou deze ook achterwegen laten. Kan liggen aan syntax smaak maar ik
heb persoonlijk nog nooit iemand de $_POST array tussen haakjes zien plaatsen wanneer ze een variabele defineren.

En wat ik mij verder afvraag waar precies wordt de mail dan verstuurd ? want ik lees alleen
Code:
if($naar, $onderwerp, ($bericht), $headers))
Als check maar zie nergens de mail echt verzonden worden ?

Mvg,
 
Laatst bewerkt:
Als ik alles bij elkaar zet maakt de positie waar ik het in de body zet dan nog uit.
Er komt ook geen mail binnen dus hij verzend ook niks.
Ik zal de haakjes even weghalen en de apostrof toevoegen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan