PHP-Code:
<?PHP
// Unsere PHP-Datei
// Global-Array für die Fehlermeldungen
$GLOBALS['fehler'] = array(); /* Hier wird ein Array definiert mit noch keinen Einträgen $GLOBALS[] ist ein Array
und sagt aus, dass das Objekt in dem Index überall im Script aufrufbar sein soll. Hätten wir einfach $fehler
geschrieben, würden unsere selbstgeschriebenen Funktionen nicht darauf zugreifen können. */
if (isset($_POST['submit'])) // Unsere Hauptanfrage
{
pruefe_name($_POST['vorname'],
"Sie haben den Vornamen nicht angegeben.",
"Sie haben unerlaubte Zeichen im Vornamen eingegeben.");
pruefe_name($_POST['nachname'],
"Sie haben den Nachnamen nicht angegeben.",
"Sie haben unerlaubte Zeichen im Nachnamen eingegeben.");
pruefe_straße($_POST['straße'],
"Sie haben Ihre Straße nicht eingegeben.");
pruefe_PLZ($_POST['PLZ'],
"Sie haben Ihre Postleitzahl nicht eingegeben.");
pruefe_stadt($_POST['stadt'],
"Sie haben Ihre Stadt nicht angegeben.",
"Sie haben unerlaubte Zeichen in der Zeile Stadt eingegeben.");
pruefe_telefon($_POST['telefon'],
"Sie haben Ihre Telefonnummer nicht angegeben.");
/* Hier wird überprüft ob das Textfeld "Anfrage" keinen Wert enthällt. Falls
es so ist wird wie in unseren Funktionen auch in das Fehlermeldungs-Array geschrieben und der Wert auf NULL
umgeändert. Eine Funktion in diesem Fall zu schreiben ist nicht nötig, da hier nur zwei simple Anweisungen
erfolgen. */
/* Hier werden die Daten für den Versand eingegeben, sowie der Umgang mit Fehlermeldungen festgelegt: */
daten_senden("info@blabla.de",
"Bestellung - ".$_POST['thema'],
"Von: ".$_POST['anrede']." ".$_POST['vorname']." ".$_POST['nachname']."\n".
"Straße: ".$_POST['straße']."\n".
"PLZ: ".$_POST['PLZ']."\n".
"Stadt: ".$_POST['stadt']."\n".
"Telefon: ".$_POST['telefon']."\n".
"Telefax: ".$_POST['telefax']."\n".
"eMail-Adresse: ".$_POST['email']."\n\n".
"Bestellung: ----------\n".$_POST['anfrage']."\n".
"1: ".$_POST['laubbaummischungfrisch']."\n".
"2: ".$_POST['laubbaummischungvorgelagert']."\n".
"3: ".$_POST['laubbaummischungtrocken']."\n".
"4: ".$_POST['lärchetrocken']."\n".
"5: ".$_POST['stammholz']."\n".
"6: ".$_POST['meterscheitholz']."\n".
"7: ".$_POST['feueranzündervonswissflame']."\n".
"8: Weidezaunphähle: ".$_POST['weidezaunphähle'],
"Bestätigung",
"Guten Tag ".$_POST['anrede']." ".$_POST['vorname']." ".$_POST['nachname'].",\n".
"Ihre Bestellung ist eingegangen und wird so schnell wie möglich Berarbeitet. \n\n".
"Ihre Bestellung:\n".
"1: ".$_POST['laubbaummischungfrisch']."\n".
"2: ".$_POST['laubbaummischungvorgelagert']."\n".
"3: ".$_POST['laubbaummischungtrocken']."\n".
"4: ".$_POST['lärchetrocken']."\n".
"5: ".$_POST['stammholz']."\n".
"6: ".$_POST['meterscheitholz']."\n".
"7: ".$_POST['feueranzündervonswissflame']."\n".
"8: Weidezaunphähle: ".$_POST['weidezaunphähle']."\n\n".
"Mit freundlichen Grüßen, KVG Weeze.",
"Leider konnte Ihre Nachricht nicht übermittelt werden.",
"Leider konnte Ihre Bestätigung nicht übermittelt werden.",
"Ihre Anfrage wurde erfolgreich gesendet.",
"Ihre Bestätigungsmail wurde erfolgreich an Sie weitergeleitet.",
"From: ".$_POST['email']." <".$_POST['vorname']." ".$_POST['nachname'].">",
"From: info@blabla.de ");
}
// Funktionen:
function pruefe_name(&$name, $fehlermld_1, $fehlermld_2)
{
$name = trim($name);
if (empty($name)) : array_push($GLOBALS['fehler'], $fehlermld_1."<BR>");
$name = NULL; return; endif;
if (preg_match("/^[- A-Za-zÄÖÜßäöü]{2,25}$/i", $name))
{
return $name;
}
else
{
array_push($GLOBALS['fehler'], $fehlermld_2."<BR>");
$name = NULL;
return;
}
}
function pruefe_Straße(&$straße, $fehlermld_1)
{
$straße = trim($straße);
if (empty($straße)) : array_push($GLOBALS['fehler'], $fehlermld_1."<BR>");
$straße = NULL; return; endif;
}
function pruefe_PLZ(&$PLZ, $fehlermld_1)
{
$PLZ = trim($PLZ);
if (empty($PLZ)) : array_push($GLOBALS['fehler'], $fehlermld_1."<BR>");
$PLZ = NULL; return; endif;
}
function pruefe_stadt(&$stadt, $fehlermld_1, $fehlermld_2)
{
$stadt = trim($stadt);
if (empty($stadt)) : array_push($GLOBALS['fehler'], $fehlermld_1."<BR>");
$stadt = NULL; return; endif;
if (preg_match("/^[- A-Za-zÄÖÜßäöü]{2,25}$/i", $stadt))
{
return $stadt;
}
else
{
array_push($GLOBALS['fehler'], $fehlermld_2."<BR>");
$stadt = NULL;
return;
}
}
function pruefe_telefon(&$telefon, $fehlermld_1)
{
$telefon = trim($telefon);
if (empty($telefon)) : array_push($GLOBALS['fehler'], $fehlermld_1."<BR>");
$telefon = NULL; return; endif;
}
// Die nächste Funktion unterscheidet sich kaum, es wird nur ein anderes Überprüfungsmuster geschrieben
function pruefe_email(&$email, $fehlermld_1, $fehlermld_2)
{
$email = trim($email);
if (preg_match("/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/i", $email)) /* Dieses lange Ding habe ich nicht selbst geschrieben, da für sowas wie eMails
oder URLs es genug fertige Regex im Netz gibt. Man muss ja auch nicht unbedingt zwei Stunden lang etwas in dieser
Art selbst entwickeln. (Es sei denn man lernt es gerade :)) */
{
return $email;
}
else
{
array_push($GLOBALS['fehler'], $fehlermld_2."<BR>");
$email = NULL;
return;
}
}
/* Funktion für die Versendung von Daten: (Verwaltet auch die Fehlermeldungen und Erfolgsmeldungen bei der
Benutzung der mail()-Funktion) */
function daten_senden($email, $betreff, $inhalt, $betreff_empfbest, $inhalt_empfbest, $fehlermld, $fehlermld_empfbest, $erfolgrmld, $erfolgrmld_empfbest, $header = "", $header_empfbest = "")
/* Funktionsparameter erklärt:
$email = eMail-Adresse des Webmasters
$betreff = Betreff der Nachricht
$inhalt = Inhalt der Mail
$betreff_empfbest = Betreff der Bestätigungsmail
$inhalt_empfbest = Inhalt der Bestätigungsmail
$fehlermld = Fehlermeldung der Nachricht
$fehlermld_empfbest = Fehlermeldung der Bestätigungsmail
$erfolgrmld = Erfolgreich versendet-Meldung
$erfolgrmld_empfbest = Erfolgreich versendet-Meldung der Bestätigungsmail
$header = Header der Nachricht (optional)
$header_empfbest = Header der Bestätigungsmail (optional)
*/
{
if (sizeof($GLOBALS['fehler']) == 0) // Prüft ob das Array mit keiner Fehlermeldung gefüllt wurde