Hallo PHPhulp-ers,
Ik weet niet goed of het bij beginners hoort, maar hier komt me vraag.
Ik heb een contact formulier met bijlage, dit functioneert goed totdat je een bijlage toevoegt. Bij een bijlage toevoegen en verzenden krijg je opeens alleen de laatste textbox mee en de bijlage en de rest van de informatie verdwijnt
Hierbij de code:
<?php
<?php
// Your e-mail adress:
$mailto = "[email protected]";
# Maximum size of attachment in bytes:
$max_attach_size = 500000;
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Formmailer</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
.style1 {color: #000000}
-->
</style>
</head>
<body><?php
/*if (empty($_POST['form_submitted']))
{
?></font><p><font color="black">Please fill out the form:</font></p>
<font color="black"><?php
}
*/
if (isset($_POST["form_submitted"]))
{
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$text = $_POST['text'];
unset($errors);
if ($email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/", $email)) $errors[] = "e-mail address lijkt incorrect";
if ($text == "") $errors[] = "Geen bericht geplaatst";
if ($_FILES['probe']['size'] > $max_attach_size) $errors[] = "Bijlage is te groot(".number_format($_FILES['probe']['size']/1000,0,",","")." KB) - maximum size: ".number_format($max_attach_size/1000,0,",","")." KB";
if (empty($errors))
{
$text = stripslashes($text);
$subject = stripslashes($subject);
// if ($name != "") $mail_name=$name; else $mail_name="Unknown";
if ($subject != "") $mail_subject = "Sollicitatie " . $subject; else $mail_subject = "No subject";
if ($email != "") $mail_email = "[email protected]"; else $mail_email = "[email protected]";
$ip = $_SERVER["REMOTE_ADDR"];
// if attachment, MIME-Mail:
if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "")
{
// read and encode file:
$datei_content = fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name']));
$datei_content = chunk_split(base64_encode($datei_content),76,"\n");
// Boundary:
$boundary = md5(uniqid(rand()));
// Mail-Header:
$mail_header = "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: ".$ip."\n";
$mail_header .= "MIME-Version: 1.0\n";
$mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$mail_header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$mail_header .= "--".$boundary;
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$text ;
// Attachment:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name=\"".$_FILES['probe']['name']."\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['probe']['name']."\"";
$mail_header .= "\n\n".$datei_content;
// End:
$mail_header .= "\n--".$boundary."--";
// Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
if (@mail($mailto,$mail_subject,"",$mail_header)) $sent = true; else $errors[] = "no connection to the mailserver - please try again later";
}
// no attachment, normal E-mail:
else
{
$mail_header = "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: $ip\n";
$mail_header .= "Content-Type: text/plain";
if (@mail($mailto,$mail_subject, "\n". $name ."\n". $Postcode ."\n". $Woonplaats ."\n". $Geboortedatum ."\n". $Telefoonnummer ."\n". $Straat ."\n". $text , $mail_header)) $sent = true; else $errors[] = "no connection to the mailserver - please try again later";
// ."\n". ."\n". ."\n". $ ."\n". ."\n".
}
// copy to sender:
if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
{
if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "") $copy_mail_text = "Copy of the e-mail:\n\n".$text."\n\nAttachment: ".$_FILES['probe']['name']; else $copy_mail_text = "Copy of the e-mail:\n\n".$text;
$header= "From: ".$mailto."\n";
$header .= "X-Sender-IP: ".$ip."\n";
$header .= "Content-Type: text/plain";
@mail($email, $mail_subject, $copy_mail_text, $header);
}
}
}
if (empty($sent))
{
if(isset($errors))
{
?></font><p class="caution"><font color="black">Error:</font></p><ul>
<font color="black"><?php foreach($errors as $f) { ?></font><li>
<font color="black"><?php echo $f; ?></li><?php } ?></font></ul>
<font color="black"><br /><?php
}
?></font><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data"><div>
<p>
<span class="style2 style1"><font face="Verdana" size="2">Voornaam Achternaam</font></span><span class="style1"><font face="Verdana" size="2">:</font></span><font face="Verdana" size="2"></font><font color="black"><font face="Verdana" size="2"><br />
</font>
</font><font color="black">
<input name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br /></font></font>
<font face="Verdana" size="2"><span class="style2 style1">E-mail adres:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font>
</font><font color="black">
<input name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br />
</font></font>
<font face="Verdana" size="2"><span class="style2 style1">Geboortedatum:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font></font>
<font color="black">
<input name="Geboortedatum" value="<?php if (isset($Geboortedatum)) echo htmlentities(stripslashes($Geboortedatum)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br /></font></font>
<font face="Verdana" size="2"><span class="style2 style1">Straat en huisnummer:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font></font>
<font color="black">
<input name="Straat" value="<?php if (isset($Straat)) echo htmlentities(stripslashes($Straat)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br /></font></font>
<font face="Verdana" size="2"><span class="style2 style1">Postcode:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font></font>
<font color="black">
<input name="Postcode" value="<?php if (isset($Postcode)) echo htmlentities(stripslashes($Postcode)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br /></font></font>
<font face="Verdana" size="2"><span class="style2 style1">Woonplaats:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font></font>
<font color="black">
<input name="Woonplaats" value="<?php if (isset($Woonplaats)) echo htmlentities(stripslashes($Woonplaats)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br /></font></font>
<font face="Verdana" size="2"><span class="style2 style1">Telefoonnummer:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font></font>
<font color="black">
<input name="Telefoonnummer" value="<?php if (isset($Telefoonnummer)) echo htmlentities(stripslashes($Telefoonnummer)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br /></font></font>
<font face="Verdana" size="2"><span class="style2 style1">Solliciteer op de functie:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font>
</font>
<font color="black">
<input name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="25" style="font-family: Verdana; border: 1px solid #000000" />
<font face="Verdana" size="2">
<br />
</font></font>
<font face="Verdana" size="2">
<br />
</font></font><font face="Verdana" size="2"><span class="style2 style1">Motivatie:</span></font><font color="black"><font face="Verdana" size="2"><br />
</font>
</font><font color="black">
<textarea name="text" cols="25" rows="7" style="font-family: Verdana; border: 1px solid #000000"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?>
</textarea>
<font face="Verdana" size="2">
<br />
<span class="style2">Bijlagen:</span><br />
</font>
</font><font color="black">
<input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""; ?>" size="16" style="font-family: Verdana; border: 1px solid #000000"/>
</font> </p>
</p>
<p><font size="2">
<span class="style2"></span>
<font color="black">
<input type="submit" name="form_submitted" value="OK - Verzenden" style="font-family: Verdana; border: 1px solid #000000" /></font><font face="Verdana" size="2" color="black">
</font> </p>
</div>
</form><font color="black"><?php
}
else
{
if (empty($email)) { ?></font></font><font color="black"> </font>
<p><font color="black"><b><font face="Verdana" size="1">Bedankt</font></b><font size="1" face="Verdana"><b>!</b><br />
<span style="font-family: Calibri; font-size: 12pt;">Je bericht is met succes verzonden ik zal zo spoedig mogelijk terug mailen.</span> </font></font></p>
<font face="Verdana" size="1"><font color="black"><?php }
else { ?></font></font><font color="black"> </font>
<p><font color="black"><b><font face="Verdana" size="1">Bedankt</font></b><font size="1" face="Verdana"><b>!</b><br />
<span style="font-family: Calibri; font-size: 12pt;">Je bericht is met succes verzonden ik zal zo spoedig mogelijk terug mailen.</span> </font>
</font></p>
<font face="Verdana" size="1" color="black"><?php }
}
?>
?>
Alvast bedankt voor de reacties
1.766 views