<?php
@session_start();
// 29.09.2010 Mail-Skript von Panda aus dem www.NOF-Forum.de, modifiziert von Thomas Frei-Herrmann inklusive Datepicker // 1.) Auf neue Seite bei Spam-Angriff leiten, dazu muss die Seite "banned.html" zusätzlich angelegt werden // 2.) Option für Kopie der Mail an Benutzer eingefügt, // dazu muss die Checkbox mit dem Namen "UserSend" und dem Wert "on" angelegt werden // 3.) Datum-Felder "datepicker" und "datepicker2" im Formular anlegen (falls erwünscht)
if (isset($_POST['action']) && ($_POST['action']=='send')) {
$timenow=time();
// 30.09.2010 von Thomas - zwei Datumsfelder vergleichen "datepicker" und "datepicker2" // wobei "datepicker" kleiner oder gleich "datepicker2" sein soll
// SESSION-Variable gründen zur Abfrage, ob die Datums-Eingabe korrekt war $_SESSION['richtig']="JA";
// Rechen-Variable gründen aus dem Inhalt des 1. Datums-Feldes $var1 = $_POST['datepicker'];
// Inhalt des 1. Datums-Feldes in Tag, Monat, Jahr zerlegen $day1 = substr($var1,0,2); $month1= substr($var1,3,2); $year1 = substr($var1,6,4); // Variable gründen, die den UNIX-Timestamp als Wert zurück gibt $timestamp1 = mktime(0,0,0, $month1, $day1, $year1);
// Rechen-Variable gründen aus dem Inhalt des 2. Datum-Feldes $var2 = $_POST['datepicker2'];
// Inhalt des 2. Datums-Feldes in Tag, Monat, Jahr zerlegen $day2 = substr($var2,0,2); $month2= substr($var2,3,2); $year2 = substr($var2,6,4); // Variable gründen, die den UNIX-Timestamp als Wert zurück gibt $timestamp2 = mktime(0,0,0, $month2, $day2, $year2);
// Wenn Enddatum kleiner als Startdatum abbrechen if ($timestamp2 < $timestamp1) { // Bei falscher Datums-Eingabe SESSION-Variabel umsetzen und zum Formular zurückkehren $_SESSION['richtig']="NEIN"; // SESSION-Variablen für ALERT-Befehl gründen $_SESSION['Startdatum']=$_POST['datepicker']; $_SESSION['Enddatum']=$_POST['datepicker2']; header ('location: http://www.DeineDomain.de/html/kontakt.php'); exit; } if (($timenow-$_POST['zeit'])<=10) { // 10, 20, usw. sind die Sekunden, die diese Seite geöffnet sein muss header ('location: http://www.DeineDomain.de/html/banned.html'); exit; } else {
// Variablen für Administrator-Mail sowie Datum und Zeit gründen // e-Mail vom Administrator $admin = 'Mail@DeineDomain.de'; // Datum und Zeit ermitteln $timestamp = time(); $datum = date("d.m.Y",$timestamp); $uhrzeit = date("H:i",$timestamp);
// BEGINN Betreff-Zeile an Empfänger mit Post-Variablen der Eingabe-Felder des Formulars $subject1 = "Formulareingabe von "; $subject1 .= $_POST['Geschlecht'] . " " . $_POST['Vorname'] . " " . $_POST['Name'] . " aus " . $_POST['Ort']; // ENDE Betreff-Zeile an Empfänger
$subject2 = "Vielen Dank für Deine Nachricht an den Webmaster"; $message = "Nachrichten an ".$admin.":\n\n";
// BEGINN Mail an Benutzer $useremail=$_POST['E-Mail']; // Text an Benutzer if ($_POST['Geschlecht']=="Herr") { $sendUser = "Lieber "; } else { $sendUser = "Liebe "; } $sendUser .= $_POST['Geschlecht'] . " " . $_POST['Vorname'] . " " . $_POST['Name'] . " aus " . $_POST['Ort'] . ",\n\n"; $sendUser .= "Vielen Dank für Deine Nachricht.\n\nDu hast folgendes geschrieben:\n\n"; $sendUser .= $_POST['Nachricht']; $sendUser .= "\n\nDu bittest um Kontakt via " . $_POST['Kontaktper'] . " zwischen dem " . $_POST['datepicker'] . " und dem " . $_POST['datepicker2'] . "."; $sendSign = "\n\n\n\nGruß Webmaster"; // ENDE Mail an Benutzer // Schleife für Abfrage aller Felder des Eingabe-Formulars foreach($_POST as $name=>$value) {
// if - Bedingung überspringt "Arbeits-Felder", die ich in meiner Mail nicht angezeigt haben möchte // verbunden mit dem Operator && (und) folgende Felder: action und zeit und den Button Senden if ($name <> "action" && $name <> "zeit" && $name <> "Senden") {
// Nur Felder aufnehmen, die einen Eintrag haben if (trim($value)<>"") {
// Wenn Feld "Nachricht" (also der Text) dann Geschlecht, Vorname, Name, Ort // sowie Datum und Uhrzeit sowie den Text unten aufnehmen und ganz unten an Mail, nach allen anderen Feldern, anhängen if ($name == "Nachricht") { $UserText = "\n\n\n" . $_POST['Geschlecht'] . " " . $_POST['Vorname'] . " " . $_POST['Name'] . " aus " . $_POST['Ort'] ."\n"; $UserText .= "hat am " . $datum . " um " . $uhrzeit . " Uhr folgende Nachricht geschrieben:\n\n"; $UserText .= "$value";
// sonst alle Felder an Mail anhängen } else {
$message .= "$name: $value\n";
} } } }
// Variable $UserText noch an Variable $message anhängen, da der Text bei mir immer ganz unten stehen soll $message .= $UserText; // Mail an Absender, wenn dieser das angehakt hatte if (isset($_POST['UserSend']) && ($_POST['UserSend']=='on')) { mail($useremail, $subject2, $sendUser . $sendSign, "From:Absender@DeineDomain.de"); } // Mail an Webmaster der Website senden mit Mail-Adresse des Absenders mail($admin, $subject1, $message, "From:$useremail"); header ('location: http://www.DeineDomain.de/html/danke.html'); exit;
}
}
?>
|