Help ik kom er niet uit.

Ik heb een mooi ontwerp voor een formulier maar de verwerking ervan gaat niet goed. Kan iemand mij helpen?


contact.html

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title></title>
<style type="text/css">
fieldset {
border: #26a solid 1px;
width: 20em
}

legend{
background: #fb0;
border: #26a solid 1px;
padding: 1px 10px
}

label {
width: 4em;
float: left;
text-align: right;
margin: 0 1em 10px 0;
clear: both
}

.invulveld {
margin-bottom: 10px;
color: #26A;
background: #9CF;
border: #26a solid 1px;
}

.bericht {
margin-bottom: 10px;
height: 8em;
color: #26A;
background: #9CF;
border: #26a solid 1px;
} 

.knop {
margin-left: 6em;
margin-bottom: 1em;
clear: both;
color: #000;
background: #9CF;
border: 2px #CCF outset;
}
</style>
</head>

<body bgcolor="#FEE249">
<fieldset>
 <legend>Contactformulier.</legend>
  <form method="POST" action="contactmail.php" name="form2">
   <label for="name">Naam</label> 
   <input type="text" id="naam" class="invulveld" size="20" /><br />
   <label for="email">Email</label> 
   <input type="text" id="email" class="invulveld" size="20" /><br />
   <label for="tel">Telefoon</label> 
   <input type="text" id="telefoon" class="invulveld" size="20" /><br />
   <label for="bericht">Bericht</label>
   <input type="text" id="bericht" class="bericht" size="20" /><br />
   <input type="submit" value="Versturen" class="knop" />
  </form>
</fieldset>
</body>

</html>


contactmail.php

<?php


$to = "[email protected]";



function check_email($email){
    if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email)){
    return TRUE;
    } else {
	return FALSE;
    }
}

$poster = $_POST['name'];
$postemail = $_POST['email'];
$telefoon = $_POST['tel'];
$postreason = $_POST['bericht'];

if (!check_email($postemail))   {
    echo "<META HTTP-EQUIV=Refresh CONTENT=3;URL=javascript:window.history.back(-1)>";
    $messege = "<center>
    Emailadres<br><u> $postemail </u><br><FONT COLOR=\"#990000\">NIET GELDIG!</FONT>
    <br>U gaat nu terug naar het formulier... ";
    } else {
	$messege = "Dank u $poster voor uw bericht.<BR> Wij nemen contact met u op binnen de komende 24 uur.";
	$subject = "Contact formulier";
	$message = "
	<html>
	<head>
	<title>Contact formulier</title></head>
	<body>
	<b>Telefoonnummer</b> -- $telefoon <br>
	<b>Poster</b> -- $poster <br>
	<b>Poster Email</b> -- $postemail <br>
	<b>Poster Submitted:</b> <br><br>
	$postreason </body></html>";

	$headers  = "MIME-Version: 1.0\r\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
	$headers .= "To: Contact Submit <$to> \r\n";
	$headers .= "From: $postemail <$postemail>\r\n";
	mail($to, $subject, $message, $headers);

    }

echo "$messege";

?>


Wat gaat er nog niet goed aan? Krijg je errors, zo ja welke? Heb je de variabele $to wel veranderd in je eigen mailadres in contactmail.php?
Ja ik heb de variabele $to veranderd in mijn eigen emailadres. Ik krijg steeds de melding dat het emailadres niet geldig is terwijl ik zeker weet dat het klopt.
Dan klopt de functie check_email niet (de reguliere expressie). Waarschijnlijk zitten er meerdere punten in je emailadres, bv. [email protected] of zoiets?

Kijk eens of het volgende wel lukt:
<?php
//contactmail.php

$to = "[email protected]";



function check_email($email){
if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $email)){
return TRUE;
} else {
return FALSE;
}
}

$poster = $_POST['name'];
$postemail = $_POST['email'];
$telefoon = $_POST['tel'];
$postreason = $_POST['bericht'];

/*
if (!check_email($postemail)) {
echo "<META HTTP-EQUIV=Refresh CONTENT=3;URL=javascript:window.history.back(-1)>";
$messege = "<center>
Emailadres<br><u> $postemail </u><br><FONT COLOR=\"#990000\">NIET GELDIG!</FONT>
<br>U gaat nu terug naar het formulier... ";
} else {
*/
$messege = "Dank u $poster voor uw bericht.<BR> Wij nemen contact met u op binnen de komende 24 uur.";
$subject = "Contact formulier";
$message = "
<html>
<head>
<title>Contact formulier</title></head>
<body>
<b>Telefoonnummer</b> -- $telefoon <br>
<b>Poster</b> -- $poster <br>
<b>Poster Email</b> -- $postemail <br>
<b>Poster Submitted:</b> <br><br>
$postreason </body></html>";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: Contact Submit <$to> \r\n";
$headers .= "From: $postemail <$postemail>\r\n";
mail($to, $subject, $message, $headers);

// }

echo "$messege";

?>

Edit:
Of probeer in het originele script eens een gewoon emailadres te gebruiken, bv. [email protected] (wel eentje waarop je kan controleren of de mail aankomt natuurlijk ^^).

Verder zou je iets aan de naamgeving van je variabelen kunnen doen; message en messege zijn enigzins verwarrend en daarnaast is messege niet veelzeggend.
Dit werkt wel, heb je alleen de check_email functie uitgezet d.m.v. /* */ of heb je nog meer aangepast?
Nu krijg ik de info van het formulier niet meegezonden, komt dat doordat de check_email functie uitstaat?
Ik heb alleen de emailcontrole uitgezet. Van regex weet ik niet veel af, iemand anders moet even kijken waar in de regex precies de fout zit :)
<fieldset>
<legend>Contactformulier.</legend>
<form method="POST" action="contactmail.php" name="form2">
<label for="name">Naam</label>
<input type="text" id="naam" class="invulveld" size="20" /><br />
<label for="email">Email</label>
<input type="text" id="email" class="invulveld" size="20" /><br />
<label for="tel">Telefoon</label>
<input type="text" id="telefoon" class="invulveld" size="20" /><br />
<label for="bericht">Bericht</label>
<input type="text" id="bericht" class="bericht" size="20" /><br />
<input type="submit" value="Versturen" class="knop" />
</form>
</fieldset>

Probeer eens alle inputs een name mee te geven, bv. <input type="text" name="bericht" id="bericht" class="bericht" size="20" />

Het nut van zowel een class als een id in de input ontgaat me overigens. Misschien heb je overigens variabelen veranderd waardoor de info niet goed verzonden wordt? Heb je ze overal veranderd (ook in het formulier)?
ok hartelijk dank voor uw hulp. Ik wacht even verdere reacties af!
Ik zal een en ander nog eens vergelijken met elkaar....en overbodige codes eruit halen.

Verder heb ik nog geen variabelen veranderd alleen de check_email functie uitgezet zoals je zei.

Ik ga nog even verder puzzelen......

Reageren