Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum. Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden. Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!

We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.

Team Webprofis

Contactformulier met (Multi) Upload

bewerkt wo 30 mrt 2016 in Tutorials & Scripten Posts: 879







Onderstaand script is een contactformulier met mogelijkheid meerdere bijlages te posten via email.

De PHP code:

<?php
if($_POST) {

// variablen definieren en input uitlezen
$ontvanger = "jouw@email.nl"; // EMAILADRES ONTVANGER
$onderwerp = "Contactformulier";
$voornaam = $_POST['voornaam'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$woonplaats = $_POST['woonplaats'];
$telefoon = $_POST['telefoon'];
$telefoonalt = $_POST['telefoonalt'];
$email = $_POST['email'];
$bericht = $_POST['bericht'];
$todayis = date("l, F j, Y, g:i a") ;

// body opmaken voor de email
$body = "";
$body .= "Voornaam: ";
$body .= $voornaam;
$body .= "\n";
$body .= "Tussenvoegsel: ";
$body .= $tussenvoegsel;
$body .= "\n";
$body .= "Achternaam: ";
$body .= $achternaam;
$body .= "\n";
$body .= "Adres: ";
$body .= $adres;
$body .= "\n";
$body .= "Postcode: ";
$body .= $postcode;
$body .= "\n";
$body .= "Woonplaats: ";
$body .= $woonplaats;
$body .= "\n";
$body .= "Telefoon: ";
$body .= $telefoon;
$body .= "\n";
$body .= "Telefoon Alternatief: ";
$body .= $telefoonalt;
$body .= "\n";
$body .= "Email: ";
$body .= $email;
$body .= "\n";
$body .= "Bericht: ";
$body .= $bericht;
$body .= "\n";

// bijlages opmaken
$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
$headers = "From: $email\r\n"
."MIME-Version: 1.0\r\n"
."Content-Type: multipart/mixed;\r\n"
." boundary=\"{$mime_boundary}\"";

$body = "This is a multi-part message in MIME format.\n\n"
."--{$mime_boundary}\n"
."Content-Type: text/plain; charset=\"iso-8859-1\"\n"
."Content-Transfer-Encoding: 7bit\n\n"
.$body
. "\n\n";

foreach($_FILES as $userfile)
{
$tmp_name = $userfile['tmp_name'];
$type = $userfile['type'];
$name = $userfile['name'];
$size = $userfile['size'];
if (file_exists($tmp_name))
{
if(is_uploaded_file($tmp_name))
{
$file = fopen($tmp_name,'rb');
$data = fread($file,filesize($tmp_name));
fclose($file);
$data = chunk_split(base64_encode($data));
}

$body .= "--{$mime_boundary}\n"
."Content-Type: {$type};\n"
." name=\"{$name}\"\n"
."Content-Disposition: attachment;\n"
." filename=\"{$fileatt_name}\"\n"
."Content-Transfer-Encoding: base64\n\n"
.$data
. "\n\n";
}
}
$body.="--{$mime_boundary}--\n";

if (mail($ontvanger, $onderwerp, $body, $headers))
echo "<p style='color:green;'>Email is succesvol verzonden!</p>";
else
echo "<p style='color:red;'>Er is iets foutgegaan...Probeer het later nog eens</p>";
}
?>

De Form:


<table width="90%" border="0" cellpadding="0" cellspacing="0" >
<tr><td align="left" valign="top">&nbsp;</td></tr>
<tr>
<td align="left" valign="top"><form action="" method="post" name="contactform" id="contactform" enctype="multipart/form-data">
<table width="500" border="0" cellspacing="0" cellpadding="6">
<tr>
<td width="150" align="right" valign="middle">* Voornaam:</td>
<td align="left" valign="middle"><input name="voornaam" type="text" id="voornaam" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle"> Tussenvoegsel:</td>
<td align="left" valign="middle"><input name="tussenvoegsel" type="text" id="tussenvoegsel" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">* Achternaam: </td>
<td align="left" valign="middle"><input name="achternaam" type="text" id="achternaam" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">* Adres:</td>
<td align="left" valign="middle"><input name="adres" type="text" id="adres" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">* Postcode:</td>
<td align="left" valign="middle"><input name="postcode" type="text" id="postcode" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">* Woonplaats:</td>
<td align="left" valign="middle"><input name="woonplaats" type="text" id="woonplaats" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">* Telefoon:</td>
<td align="left" valign="middle"><input name="telefoon" type="text" id="telefoon" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle"> Telefoon alternatief:</td>
<td align="left" valign="middle"><input name="telefoonalt" type="text" id="telefoonalt" size="25"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">* Email:</td>
<td align="left" valign="middle"><input name="email" type="text" id="email" size="25"></td>
</tr>
<tr>


<tr>
<td width="150" align="right" valign="top">* Bericht: </td>
<td align="left" valign="middle"><textarea name="bericht" cols="40" rows="7" id="bericht"></textarea></td>
</tr>

<tr>
<td width="150" align="right" valign="middle">Bijlage 1:</td>
<td align="left" valign="middle"><input type="file" name="bijlage1"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">Bijlage 2:</td>
<td align="left" valign="middle"><input type="file" name="bijlage2"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">Bijlage 3:</td>
<td align="left" valign="middle"><input type="file" name="bijlage3"></td>
</tr>
<tr>
<td width="150" align="right" valign="middle">Bijlage 4:</td>
<td align="left" valign="middle"><input type="file" name="bijlage4"></td>
</tr>
<tr>
<td align="right" valign="middle">Bijlage 5:</td>
<td align="left" valign="middle"><input type="file" name="bijlage5"></td>
</tr>

<!-- Submit & Reset -->
<tr>
<td align="right" valign="middle">&nbsp;</td>
<td align="left" valign="middle"><input type="reset" name="Reset" value="Reset">
<input type="submit" name="Submit" value="Verzenden"></td>
</tr>
</table>
</form></td>
</tr>
</table>
Dit Topic is gesloten.