Beste mensen,
Ik heb met veel moeite een formulier kunnen vinden dat het doet bij mij en een uploadfunctie heeft voor mijn bedrijf. Alleen er zitten 2 gebreken aan. Niet alles wat ingevuld is word meegestuurd, ik wil dat alles wat ingevuld wordt meegestuurd wordt. Bovendien kan er een leeg formulier gestuurd worden, dit is ook niet de bedoeling alle velden op 'bericht' en 'kortingscode' na moet verplicht zijn. Kan iemand mij hier mee helpen?
Alvast heel erg bedankt!
Mod: Gaarna PHP-tags gebruiken
Ik heb met veel moeite een formulier kunnen vinden dat het doet bij mij en een uploadfunctie heeft voor mijn bedrijf. Alleen er zitten 2 gebreken aan. Niet alles wat ingevuld is word meegestuurd, ik wil dat alles wat ingevuld wordt meegestuurd wordt. Bovendien kan er een leeg formulier gestuurd worden, dit is ook niet de bedoeling alle velden op 'bericht' en 'kortingscode' na moet verplicht zijn. Kan iemand mij hier mee helpen?
Alvast heel erg bedankt!
PHP:
<?php
//mail formulier voor bijlage
$email ='info@mijnmail.com';
//geneer boundary
DEFINE('bound',md5(uniqid(time())));
//check request method
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//if file upload send with email as mixed
if(!empty($_FILES['file']['name']['email']))
{
//check filesize
if($_FILES['file']['size'] < 1000000*10000000)
{
$headers = "From: ".$_POST['from']." <".$_POST['email'].">\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. <br></br>Wij hebben een bijlage nodig om de bewerking te kunnen maken. Dus probeer het alstublieft nog een keer op nieuw';
}
}
else
{
//mail formulier je moet zelf het fomullier maken
echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\" enctype=\"multipart/form-data\">";
echo "Voornaam: <input type='text' name='from'><br>";
echo "Achternaam:<input type='text' name='achternaam'><br>";
echo "Straat:<input type='text' name='straat'><br>";
echo "Postcode:<input type='text' name='postcode'><br>";
echo "Plaats:<input type='text' name='plaats'><br>";
echo "Land:<input type='text' name='land'><br>";
echo "Email:<input type='text' name='email'><br>";
echo "Telefoonnummer:<input type='text' name='telefoonnummer'><br>";
echo "Kortingscode:<input type='text' name='kortingscode'><br>";
echo "Fotoproduct met formaat:<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\">";
}
?>
Laatst bewerkt door een moderator: