Hallo,

Ik heb het volgende script achter een formuliertje dat om een naam en emailadres vraagt. De bedoeling is vervolgens dat er een email verstuurd wordt en dat de bezoeker doorgestuurd wordt van de index.html naar index3.html.
Na het invullen blijft de pagina echter hangen bij de handler.php waar het onderstaande script instaat. Wat is hier de fout in? Het werkte eerst namelijk helemaal goed.

<?php include_once("analyticstracking.php") ?>
<?php

$errors = '';
$myemail = '[email protected]';//<-----Put Your email address here.
if(empty($_POST['name']) ||
empty($_POST['email']))
{
$errors .= "\n Fout: Alle velden moeten ingevuld zijn. ";
}
$name = $_POST['name'];
$email_address = $_POST['email'];
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
$errors .= "\n Fout: Ongeldig emailadres";
}

if( empty($errors))
{
$to = $myemail;
$email_subject = "Aanmelding nieuwsbrief: $name";
$email_body = "Er is een nieuwe aanmelding. ".
" De gegevens:\n Name: $name \n ".
"Email: $email_address\n ";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: index3.html');
}


?>


Nog even als toevoeging, ik krijg wel het mailtje binnen met daarin de naam en het mailadres die door de bezoeker worden ingevoerd. Het probleem zit in het redirecten.
Dutch Canadian op 08/05/2012 18:33:54
Het werkte eerst namelijk helemaal goed.

Begin dan met te vertellen wat je hebt veranderd. Daar zal waarschijnlijk ook het probleem liggen.

Dat is het vreemde eraan, ik heb niks veranderd. Ik kreeg melding van de persoon voor wie de website is dat het niet goed meer werkte. Maar bij het testen werkte het perfect.
Dus testen werkte wel, maar in productie heeft het nooit gewerkt?
Jawel, het stond al bijna een half jaar online. Maar de laatste maand, 2 maand werkte het niet goed meer.
Dan, wat is er veranderd? Een script valt niet zo maar opeens om, dan moet er iets in de omgeving zijn veranderd. Ben je van server gemigreerd, heeft je hoster een nieuwe php versie geinstalleerd, zijn de php settings nog wel gelijk etc etc?

Daarnaast, om sneller tot de oplossing te komen, tot welke regel in dit script werkt het nog wel helemaal goed? En, wat voor foutmeldingen krijg je (als je error reporting aan zet uiteraard).
Ik zal gaan vragen wat de hoster heeft aangepast. Van mijn kant is er niks veranderd.
Zodra ik meer duidelijkheid heb zal ik het posten.

[size=xsmall]Toevoeging op 08/05/2012 18:55:02:[/size]

Ik heb het php-script geupload naar mijn eigen hosting. Hier krijg ik wel een foutmelding.

Cannot modify header information - headers already sent by (output started at /home/jos/domains/mijndomein.nl/public_html/vdklok2/handler.php:2) in /home/jos/domains/mijndomein.nl/public_html/vdklok2/handler.php on line 32

[size=xsmall]Toevoeging op 08/05/2012 19:08:38:[/size]

Het script werkt weer goed. Ik heb de header redirect nu vooraan het script geplaatst. Nu wordt er weer doorverwezen naar de goede pagina en de email met gegevens word verstuurd :).

Reageren