Dieses überprüft zusätzlich, ob die Felder auch ausgefüllt worden.
Die Email wird auch auf Gültigkeit überprüft.
Folgenden Code kopieren und abspeichern unter :
email_kontakt.php
HTML
<?
// Email Kontakt Formular mit Überprüfung der Eingabe
// Script written by Andreas Ziesemann
// For more Information visit:
// http://www.az-id.de
// Folgende Variablen bitte anpassen
$EMailEmpf = "Eure Email"; // Eure Kontaktemail
$titel = "Email Formular by A. Ziesemann"; // Titel im Browser
$bgcolor = "black"; // Hintergrundfarbe
$textfarbe = "white"; // Textfarbe
$linkfarbe = "grey"; // Linkfarbe
$Betreff = "Kontaktformular von www.az-id.de";
$start_text = "Kontaktformular"; // Überschrift
$send_text = "Vielen Dank für Ihre Mail"; // Text nach absenden der EMail
// Ab hier bitte nichts mehr ändern
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title><? echo $titel;?></title>
</head>
<?
echo "<body bgcolor='$bgcolor' text='$textfarbe' link='$linkfarbe' vlink='$linkfarbe' alink='$linkfarbe'>";
echo "<font face='Arial, Helvetica, sans-serif'>";
echo "<div align='center'>
$start_text</p></div>";
$pruefen = 0;
if (!$action == "") {
$Zaehler = 0 ; // Zählt die Anzahl der Fehler
$Falsch = "" ; // Nicht korrekte Felder
function TesteText ( $Variable , $TestString , $Feld )
{
global $Zaehler ; // zum Schreiben der Variablen erforderlich,
global $Falsch ; // da Variablen sonst nur in Funktion gültig!!!
if ( ! ( eregi ( $TestString , trim ( $Variable ) ) ) ) // Funktion prüft Gültigkeit des Feldes
{
$Zaehler = $Zaehler + 1 ;
if ( $Zaehler > 1 ) // Wenn bereits ein nicht korrektes Feld vorhanden:
{
$Falsch .= ", " ; // Trennung zum nächsten Feld durch Komma
}
$Falsch .= $Feld ;
}
}
TesteText ( $name , "^[a-zäöüß \.-]+$" , "Name" ) ;
TesteText ( $email , "^[a-z0-9_\.-]{3,30}@[a-z0-9_-]+\.[a-z0-9_\.-]+$" , "E-Mail" ) ;
$Gesamt = $name . $email; // String mit allen Feldern wird gebildet
if ($Zaehler<>0) // Wenn Fehler vorhanden sind (große Schleife):
{
if ( ! ( strlen ( $Gesamt ) ) ) // Wenn noch nichts eingetragen wurde:
{
echo "[b]Füllen Sie bitte die unten stehenden Felder sorgfältig aus.[/b]" ;
}
elseif ( $Zaehler == 1 ) // Wenn ein Feld nicht korrekt ausgefüllt ist:
{
echo "[b]Bitte korrigieren oder ergänzen Sie das Feld $Falsch.[/b]" ; // zeigt String mit nicht korrektem Feld an
}
else // Wenn mehrere Felder nicht korrekt ausgefüllt sind:
{
echo "[b]Bitte korrigieren oder ergänzen Sie die Felder $Falsch.[/b]" ; // zeigt String mit nicht korrekten Feldern an
}
}
}
if (!$action OR $pruefen == "1" OR $Zaehler<>0) {
?>
<TABLE width="50%" border="0">
<form action="email_kontakt.php" method="post" target="_self">
<TR><TD align ="left" width="10%">Name :</td><td><input name="name" SIZE="35" value="<? echo $name;?>"></td></tr>
<TR><TD align ="left" width="10%">Email :</td><td><input name="email" SIZE="35" value="<? echo $email;?>"></td></tr>
<TR><TD align ="left" width="10%" valign="top">Mitteilungen :</td><td><TEXTAREA NAME="mitteilung" COLS="33" ROWS="3"><? echo $mitteilung;?></TEXTAREA></td></tr>
<tr><td colspan="2"><div align="center"><input type="submit" name="action" value="senden" class="left"></div></TD>
</TR>
</FORM>
</TABLE>
<?
}
else {
echo "[b]Folgende Daten wurden uns übersendet[/b]
";
echo "$name
$email
$mitteilung
";
$Sendmail = "EMail von : $name \nEMail : $email \nFolgende Mitteilung wurde gemacht: \n---------------------------------- \n$mitteilung\n";
mail ( $EMailEmpf , ( $Betreff ) , ( $Sendmail ));
echo "[b]$send_text[/b]";
}
echo "</font></body></html>";
?>
Alles anzeigen
Viel Spaß