Code: Alles auswählen
<?PHP
// diePHP Datei für den Ralph
// Global-Array für die Fehlermeldungen
$GLOBALS['fehler'] = array();
if (isset($_POST['submit'])) // dat is die Haupt abfrage du dreckiger hund ;)
{
pruefe_name($_POST['vorname'],
"Sie haben den Vornamen nicht eingegeben.",
"Sie haben unerlaubte Zeichen im Vornamen eingegeben.");
pruefe_name($_POST['nachname'],
"Sie haben den Nachnamen nicht eingegeben.",
"Sie haben unerlaubte Zeichen im Nachnamen eingegeben.");
pruefe_email($_POST['email'],
"Sie haben keine eMail angegeben.",
"Sie haben unerlaubte Zeichen in Ihrer eMail-Adresse verwendet.");
if (empty($_POST['postleitzahl'])) : array_push($GLOBALS['fehler'],
"Sie haben keine Postleitzahl eingegeben."."<BR>"); $_POST['posztleitzahl'] = NULL; endif;
if (empty($_POST['stadt'])) : array_push($GLOBALS['fehler'],
"Sie haben keine Stadt eingegeben."."<BR>"); $_POST['stadt'] = NULL; endif; /* 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("kluge@werbestation.de",
"Anfrage - ".$_POST['thema'],
"Von: ".$_POST['anrede']." ".$_POST['vorname']." ".$_POST['nachname']."\n".
"eMail-Adresse: ".$_POST['email']."\n".
"Postleitzahl: \n----------\n".$_POST['postleitzahl'],
"Stadt: ".$_POST['stadt']."\n".
"Bestätigung",
"Guten Tag ".$_POST['anrede']." ".$_POST['vorname']." ".$_POST['nachname'].",\n".
"Sie erhalten diese eMail, da Sie auf unserer Webseite mit uns Kontakt aufgenommen und eine eMail-".
"Bestätigung gewünscht haben.\n".
"Ihre Anfrage wird so schnell von unseren Mitarbeitern verarbeitet und Sie werden von uns informiert.\n".
"Mit freundlichen Grüßen.",
"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: Team der Werbestation");
}
// so Ralph das sind meine Funktionen
function pruefe_name(&$name, $fehlermld_1, $fehlermld_2)
{
$name = trim($name); /* trim() entfernt ua. überflüssige Leerzeichen am Ende und Anfang des Strings. Danach wird
ein "sauberer" String ausgegeben und an die Variable $name übergeben */
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;
}
}
// 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 (empty($email)) : array_push($GLOBALS['fehler'], $fehlermld_1."<BR>"); $email = NULL; return; endif;
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})(\]?)$/",
$email))
{
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 = "")
{
if (sizeof($GLOBALS['fehler']) == 0) // Prüft ob das Array mit keiner Fehlermeldung gefüllt wurde
{
/* Prüfen ob die Mail an den SMTP-Server erfolgreich gesendet wird und die passende Meldung ausgeben: */
if (@mail($email, $betreff, $inhalt, $header)) { echo $erfolgrmld."<BR>"; } else { echo $fehlermld."<BR>"; }
if ($_POST['bestaetigung']) // Prüft, ob der Besucher eine eMail-Bestätigung wünscht
{
if (@mail($_POST['email'], $betreff_empfbest, $inhalt_empfbest, $header_empfbest))
{
echo $erfolgrmld_empfbest."<BR>"; // Erfolgreich gesendet-Nachricht
}
else
{
echo $fehlermld_empfbest."<BR>"; // SMTP-Fehler aufgetreten
}
}
}
else // Falls Fehler in den Feldern gefunden wurden:
{
foreach ($GLOBALS['fehler'] AS $value) // Schleife, um alle Fehler aufzuzählen, die eingetragen wurden
{
echo $value;
}
}
}
?>