Hallo,
Ik ben bezig met het bouwen van een php formulier met validatie het versturen van een email en het redirecten naar een bedankpagina.
Alles behalve het redirecten naar een bedanktpagina werkt
Het probleem zit in dit gedeelte van de code:
Na het submitten van het formulier krijg ik de volgende error: Warning: Cannot modify header information - headers already sent by...
De regel waarin de header al zou zijn verstuurd is mijn openende <?php tag.
Zie hieronder de volledige code van het formulier:
Ik ben nu al lange tijd aan het zoeken naar een oplossing maar krijg het script maar niet werkend....
Wie o wie kan mij helpen met dit zeer frustrerende probleem?
Ik ben bezig met het bouwen van een php formulier met validatie het versturen van een email en het redirecten naar een bedankpagina.
Alles behalve het redirecten naar een bedanktpagina werkt
Het probleem zit in dit gedeelte van de code:
PHP:
header('Location: http://roadhouse.nl/bedankt.html');
Na het submitten van het formulier krijg ik de volgende error: Warning: Cannot modify header information - headers already sent by...
De regel waarin de header al zou zijn verstuurd is mijn openende <?php tag.
Zie hieronder de volledige code van het formulier:
PHP:
<?php
if ($_POST['_submit_check']) {
// If validate_form() returns errors, pass them to show_form()
if ($form_errors = validate_form()) {show_form($form_errors);}
else { process_form(); }
} else { show_form(); }
// Do something when the form is submitted
function process_form() {
header('Location: /bedankt.html');
/* Set e-mail recipient */
$myemail = "mijnemail@email.com";
$naam = $_POST['naam'];
$emailadres = $_POST['emailadres'];
$telefoonnummer = $_POST['telefoonnummer'];
$opmerking = $_POST['opmerking'];
/* Let's prepare the message for the e-mail */
$message = "
Het contact formulier is ingevuld door:
Naam: $naam
Emailadres: $emailadres
Telefoonnummer: $telefoonnummer
Opmerking: $opmerking
";
$subject = "Verzoek tot contact";
$headers = "From: $emailadres";
/* Send the message using mail() function */
mail($myemail, $subject, $message, $headers);
}
// Display the form
function show_form($errors = '') {
// If some errors were passed in, print them out
if ($errors) {
echo 'Please correct these errors: <ul><li>';
echo implode('</li><li>', $errors);
echo '</li></ul>';
}
echo "<form class=\"contactform\" name=\"contactform\" method=\"post\" action=\"\">";
echo "<input id=\"contact_name\" type=\"text\" name=\"naam\" placeholder=\"Naam\" value=\"". $_POST['naam'] . "\">";
echo "<input id=\"contact_email\" type=\"text\" name=\"emailadres\" placeholder=\"Emailadres\" value=\"". $_POST['emailadres'] . "\">";
echo "<input id=\"contact_phone\" type=\"text\" name=\"telefoonnummer\" placeholder=\"Telefoonnummer\" value=\"". $_POST['telefoonnummer'] . "\">";
echo "<textarea id=\"contact_enquiry\" name=\"opmerking\" placeholder=\"Uw vraag of opmerking\">". $_POST['opmerking'] . "</textarea>";
echo "<input class=\"formbutton\" type=\"submit\" name=\"submit\" value=\"Verzenden\">";
echo "<input type=\"hidden\" name=\"_submit_check\" value=\"1\">";
echo "</form>";
}
// Check the form data
function validate_form() {
// Start with an empty array of error messages
$errors = array();
// Add an error message if the name is too short
$_POST['naam'] = trim($_POST['naam']);
if (empty($_POST['naam'])) {
$errors[] = 'Naam'; }
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $_POST['emailadres'])) {
$errors[]='Geldig emailadres'; }
if (empty($_POST['telefoonnummer'])) {
$errors[]='Telefoonnummer'; }
if (empty($_POST['opmerking'])) {
$errors[]='Opmerking'; }
// Return the (possibly empty) array of error messages
return $errors;
}
?>
Ik ben nu al lange tijd aan het zoeken naar een oplossing maar krijg het script maar niet werkend....
Wie o wie kan mij helpen met dit zeer frustrerende probleem?