Gezien ik absoluut niks ken van php, heb ik na opzoeking een code gevonden (formulier met multiple uploads). Maar ik ben niet zeker of het solide en betrouwbaar is, want sommige klanten melden me dat ze wel op de bedankpagina komen, maar ik ontvang hun mail niet.
Kan iemand de onderstaande code nakijken en toevoegen wat nodig is om de code met een gerust hart online te plaatsen?
Dankje.
<?php
// append data to a log file
function _log($log_file,$ip,$email,$message)
{
$str = date('Y-m-d H:i:s') . " IP:$ip, EM:$email, $message\n";
file_put_contents($log_file,$str,FILE_APPEND);
}
$log_file = 'log.txt'; // log text file name
$ip = $_SERVER['REMOTE_ADDR']; // get ip to short variable name for logging purposes
$to = "[email protected]";
$subject= "inschrijving";
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$website = $_POST['website'];
$beschrijving = $_POST['beschrijving'];
$socialURL = $_POST['socialURL'];
$cmname = $_POST['cmname'];
$faciliteit = $_POST['faciliteit'];
$add = $_POST['add'];
$city = $_POST['city'];
$zip = $_POST['zip'];
$keywords1 = $_POST['keywords1'];
$keywords2 = $_POST['keywords2'];
$keywords3 = $_POST['keywords3'];
$keywords4 = $_POST['keywords4'];
$keywords5 = $_POST['keywords5'];
$keywords6 = $_POST['keywords6'];
$prijslijst = $_POST['prijslijst'];
$openingsuren = $_POST['openingsuren'];
$klikbaar = $_POST['klikbaar'];
$socialFB = $_POST['socialFB'];
$socialTW = $_POST['socialTW'];
$socialIN = $_POST['socialIN'];
$socialGP = $_POST['socialGP'];
$opmerking = $_POST['opmerking'];
$message = "
Faciliteit: $faciliteit
Naam bedrijf: $cmname
Adres: $add, $zip $city
Beschrijving:
$beschrijving
Video:
$socialURL
Kernwoorden:
$keywords1
$keywords2
$keywords3
$keywords4
$keywords5
$keywords6
Prijslijst:
$prijslijst
Openklikbare tekst:
$klikbaar
Contactpersoon: $name
Telefoon: $phone
Email: $email
Website: $website
Openingsuren:
$openingsuren
Facebook: $socialFB
Instagram: $socialIN
Twitter: $socialTW
Google Plus: $socialGP
Verdere opmerkingen:
$opmerking
";
$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}\"";
$message = "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" .
$message . "\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));
}
$message .= "--{$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";
}
}
$message.="--{$mime_boundary}--\n";
if(mail($to, $subject, $message, $headers))
{
echo "Dankje om je gegevens door te zenden.<br>We nemen die door en contacteren je zo snel mogelijk.";
_log($log_file,$ip,$email,'Mail call successful.');
} else {
echo "Error in mail.<br>Probeer opnieuw door hieronder te klikken.";
$last_error = error_get_last();
_log($log_file,$ip,$email,"Mail call failed - {$last_error['message']}");
}
?>