<?
// als de mail wel f niet verzonden is gaat hij naar verzonden.php,
// daarbij zend hij een variabele $sent mee die 1 is wanneer verzonden en 0 wanneer niet verzonden.
if(isset($_POST['submit'])){
$max = "15000"; // Maximum grootte van het bestand
$van = "[email protected]"; // Het e-mail adres van de webmaster
$naar = "[email protected]"; // Het e-mail adres van de ontvanger
$onderwerp ="Test"; // Onderwerp
$bericht= "Naam: ". $_POST['naam'] ." ". $_POST['achternaam'] ."\n"
."Adres: ". $_POST['adres'] ."\n"
."Postcode: ". $_POST['postcode'] ."\n"
."Woonplaats: ". $_POST['woonplaats'] ."\n"
."Telefoonnummer: ". $_POST['telefoon'] ."\n"
."E-mail: ". $_POST['email'] ."\n"
."". $_POST['bericht'] ."\n\n";
if (!empty($_FILES['bijlage']['name'])){
// als er een bestand is
$filename = $_FILES['bijlage']['name'];
$extentie = substr($filename, -3);
if ($bestand_size > $max){
header("location: nietverzonden2.htm?sent=0");
}elseif($extentie != "doc"){
header("location: nietverzonden2.htm?sent=0");
}else{
// het type van de bijlage achterhalen
$type = $HTTP_POST_FILES[bijlage][type];
if (($type == "text/plain") || ($type == "text/html")) $codering = "8bit";
else $codering = "base64";
// De bijlage controleren
$openen = @fopen($_FILES[bijlage][tmp_name],"r");
if (!$openen){
echo"Er is een probleem met de bijlage, probeer het a.u.b opnieuw.";
echo"<br><a href=javascript:history.back()>Klik hier om terug te gaan</a>";
}else{
// bijlage lezen
$inhoud_bestand = fread($openen,filesize($_FILES[bijlage][tmp_name]));
// als de codering base46 is dan moet er worden gecodeerd
if ($codering == "base64"){
$inhoud_bestand = chunk_split(base64_encode($inhoud_bestand));
$boundry = strtoupper(md5(uniqid(time())));
$header = "From: " . $van . "\n";
$header .= "MIME-version: 1.0\n";
$header .= "Content-Type: multipart/mixed;\n";
$header .= "\tboundary= " . $boundry . "\n\n";
$header .= "--" . $boundry . "\n";
$header .= "Content-Type: text/plain;\n";
$header .= "\tcharset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: quoted-printable\n\n";
// het bericht toevoegen aan de mail
$header .= $bericht . "\n\n";
// bijlage toevoegen
$header .= "--" . $boundry . "\n";
$header .= "Content-Type: " . $type . "\n";
$header .= "Content-Transfer-Encoding: " . $codering . "\n";
$header .= "Content-Disposition: attachment; filename=\"" . $_FILES[bijlage][name] . "\"\n\n";
// actual bijlage
$header .= $inhoud_bestand . "\n\n";
$header .= "--" . $boundry . "--";
}
if (@mail($naar,$onderwerp,"",$header))
header("location: verzonden.htm?sent=1");
else
header("location: nietverzonden.htm?sent=0");
}
}
}else{
$header = "From: " . $van . "\n";
$header .= "Content-Type: text/plain;\n";
$header .= "\tcharset=\"iso-8859-1\"\n";
$header .= "Content-Transfer-Encoding: quoted-printable\n\n";
// het bericht
$header .= $bericht . "\n\n";
if (@mail($naar,$onderwerp,"",$header))
header("location: verzonden.htm?sent=1");
else
header("location: nietverzonden.htm?sent=0");
}
}
else
{
?><style type="text/css">
<!--
body {
background-color: #000000;
margin-left: 16px;
margin-top: 1px;
margin-right: 0px;
margin-bottom: 0px;
}
.style1 {color: #E0E2EB}
body,td,th {
color: #FFFFFF;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style2 {font-size: 10px}
.style4 {font-size: 10px; font-weight: bold; }
a:link {
color: #FFFFFF;
text-decoration: none;
}
a:visited {
text-decoration: none;
color: #FFFFFF;
}
a:hover {
text-decoration: underline;
color: #7499C2;
}
a:active {
text-decoration: none;
}
-->
</style>
<title>Testing</title>
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<table width="760" height="341" border="0" align="center" cellpadding="0" cellspacing="0" background="test.jpg">
<tr>
<td> </td>
<td height="24"> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="24"> </td>
<td> </td>
<td><div align="left"></div></td>
<td> </td>
</tr>
<tr>
<td width="239"> </td>
<td width="87" height="24"><div align="left" class="style2">
<div align="left"><span class="style1">Naam</span></div>
</div> </td>
<td width="9"><span class="style2">:</span></td>
<td width="300">
<div align="left">
<input name="naam" type="text" maxlength="30">
</div></td>
<td width="125"> </td>
</tr>
<tr>
<td> </td>
<td height="25"><div align="left" class="style2">
<div align="left">Achternaam</div>
</div></td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input name="achternaam" type="text" maxlength="30">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="25"><div align="left" class="style2">
<div align="left">Adres</div>
</div></td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input name="adres" type="text" maxlength="30">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="24"><div align="left" class="style2">
<div align="left">Postcode</div>
</div></td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input name="postcode" type="text" maxlength="7">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="24"><div align="left" class="style2">
<div align="left">Woonplaats</div>
</div></td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input name="woonplaats" type="text" maxlength="30">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="26" class="style2">Telefoon nr. </td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input name="telefoon" type="text" maxlength="11">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="22"><div align="left" class="style2">
<div align="left">E-mail</div>
</div></td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input name="email" type="text" maxlength="40">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td height="24"><div align="left" class="style2">Bijlage </div></td>
<td><span class="style2">:</span></td>
<td>
<div align="left">
<input type="file" name="bijlage">
</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><div align="left" class="style2"></div></td>
<td> </td>
<td> <div align="left"></div></td>
<td> </td>
</tr>
<tr>
<td></td>
<td class="style4"><a href="javascript: history.go(-1)" target="_self">Terug</a></td>
<td></td>
<td><div align="left">
<input type="submit" value="Verstuur" name="submit">
<input type="reset" name="Reset" value="Wissen">
</div></td>
<td> </td>
</tr>
</table>
</form>
<?
}
?>
1.554 views
Beste php'ers, ik heb hier echt jullie hulp even nodig want ik heb 3 jaar lang een werkend contactformulier met bijlagemogelijkheid gehad, en van de één op de andere dag werkt het niet meer. Ik ben zelf een beginnend php'er op dit gebied dus bij deze zou ik het zeer op prijs stellen als iemand met php verstand even door de volgende code wil spitten om wellicht het probleem te achterhalen. Het formulier linkt op dit moment door naar de nietverzonden html pagina, terwijl het een aantal weken terug dus nog prima werd doorgemaild. Alvast bedankt mensen!
knop om je tekst aan te passen.