Hallo

Ik heb een vraagje of iemand weet wat ik fout gedaan heb.
Ik heb onderstaande script en als ik alle verlden invul blijft hij mij de foutmelding ""Gelieve alle velden correct in te vullen"" geven.
Weet iemad wat ik fout gedaan heb of heeft iemand een idee waar het zich in zit.
Ik kom er zelf niet uit en na 5 uur kijken en zoeken word ik er een beetje gek van.

Hier is de code dan
[code]
<?php
//mail formulier voor bijlage
$email ='[email protected];
//geneer boundary
DEFINE('bound',md5(uniqid(time())))
//check request method


if($_SERVER['REQUEST_METHOD'] == 'POST')
if($naam= "" || $email= "" || $subject= "" || $file= "" || $bericht= "" || $tel="" || $plaats="" || $adres="" )
{
echo "<center><small><font face=\"Arial\">Gelieve alle velden correct in te vullen.<br><a href=\"javascript:history.back(-1)\">Probeer het opnieuw</a></font></small></center>";
}
elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $email))
{
echo "<center><small><font face=\"Arial\">Gelieve een geldig e-mailadres in te vullen.<br><a href=\"javascript:history.back(-1)\">Probeer het opnieuw</a></font></small></center>";
}
else
{
//if file upload send with email as mixed
if(!empty($_FILES['file']['name']))
{
//check filesize
if($_FILES['file']['size'] < 1024*1024)
{
$headers = "Van: ".$_POST['naam']." ".$_POST['subject']." ".$_POST['bericht']."".$_POST['email']." ".$_POST['tel']." ".$_POST['plaats']." ".$_POST['adres']." \r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
//email bestaat uit meerdere bestanden dus vertel wat de scheidings teken is en dat het een multipart is
$headers .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
//we zenden een attachment mee
$headers .= "Content-Disposition: attachment\r\n";
//readfile
$fp = fopen($_FILES['file']['tmp_name'],'r');
$bestand = fread($fp,$_FILES['file']['size']);
fclose($fp);
//create body
//generenen een body. Dit is een multi part gezeik
$body.= "This is a multi-part message in MIME format.\r\n";
$body.= "\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + charater set (iso in dit geval)
$body.= "Content-Type: text/plain; charset=iso-8859-1\r\n";
//codering (7 bit)
$body.= "Content-Transfer-Encoding: 7bit\r\n";
$body.= "\r\n";
//het bericht
$body.= $_POST['bericht'] ."\r\n";
//boundary
$body.= "--".bound."\r\n";
//content type + naam bestand (database.sql)
$body .= "Content-Type: application/octet-stream; name=".$_FILES['file']['name']."\r\n";
//codering
$body .= "Content-Transfer-Encoding: base64\r\n";
//als bijlage toegevoegd
$body.= "Content-disposition: attachment\r\n";
$body .= "\n";
//de inhoud van het bestand
$body .= chunk_split(base64_encode($bestand )) . "\r\n";
mail($email,$_POST['subject'],$body,$headers);
echo 'Email (Met een bijlage) is verzonden';
}
else
{
echo 'Bestands groote is te groot';
}
}
else
{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$_POST['from']." <".$_POST['email'].">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$bericht = $_POST['bericht'];
mail($email,$_POST['subject'],$bericht,$headers);
echo 'Email (Zonder een bijlage) is verzonden';
}
}
else
{
//mail formulier je moet zelf het fomullier maken

echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "Naam: <input type='text' name='from'><br>";
echo "Adres:<input type='text' name='adres'><br>";
echo "plaats:<input type='text' name='plaats'><br>";
echo "Tellefoon:<input type='text' name='tel'><br>";
echo "Email:<input type='text' name='email'><br>";
echo "Onderwerp:<input type='text' name='subject'><br>";
echo "Bestand:<input type='file' name='file'><br>";
echo "Bericht:<textarea name='bericht'></textarea><br />";
echo "<input type=\"submit\" value=\"Verzenden\">";
}
?>
B.V.D Arjan
In het volgende stukje:

<?php
$mail_header = "Van: ".$mail_voornaam." \n";
      $mail_header = "Van: ".$mail_achternaam." \n";
      $mail_header = "Telefoonnummer: ".$mail_tel." \n";
      $mail_header = "adres: ".$mail_adres." \n";
      $mail_header = "Woonplaats: ".$mail_woonplaats."\n";
      $mail_header .= "X-Sender-IP: $ip\n";
      $mail_header .= "Content-Type: text/plain";
      if (@mail($mailto,$mail_subject,$text,$mail_header)) $sent = true; else $errors[] = "no connection to the mailserver - please try again later";
     } 
?>


Overschrijf je de eerste paar keer je $mail_header. Bij de laatste 2 gebruik je wel .= moet bij de rest ook lijkt me, dus zo:

<?php
$mail_header = "Van: ".$mail_voornaam." \n";
      $mail_header .= "Van: ".$mail_achternaam." \n";
      $mail_header .= "Telefoonnummer: ".$mail_tel." \n";
      $mail_header .= "adres: ".$mail_adres." \n";
      $mail_header .= "Woonplaats: ".$mail_woonplaats."\n";
      $mail_header .= "X-Sender-IP: $ip\n";
      $mail_header .= "Content-Type: text/plain";
      if (@mail($mailto,$mail_subject,$text,$mail_header)) $sent = true; else $errors[] = "no connection to the mailserver - please try again later";
     } 
?>
telefoonnummer, adres en woonplaats zijn geen email headers, dus die horen ook niet in de headers te zitten.

Reageren