Hi
Im Skript soll geprüft werden ob eine Mailadresse eingegeben wurde und ob diese richtig ist. Das geht jetzt.
Was noch nicht geht ist die Telefonnummer, die auch +( ) enthalten darf oder ein *, aber keine Buchstaben.
Bei den Postleitzahlen soll eine fünstellige ausgegeben werden. Oder nur keine Buchstaben. Bin für beides dankbar. Hier kommt der Auszug aus dem Skript. Bis jetzt werden beide Felder immer als falsch ausgegeben:
...bla,bla
if (empty($a)) {
eval ("\$formular = \"".gettemplate("formular")."\";");
eval ("\$index = \"".gettemplate("index")."\";");
echo $index;
}
//-----------------------------------------------
// Checking Data
//-----------------------------------------------
if ($a == "a" AND $a != "b" AND $checking == "1") {
//Check eMail
if
(!preg_match("/^[A-Za-z0-9\äöü\-\_\.]+\@[A-Za-z0-9\-\_\.]+\.[A-Za-z]+[A-Za-z]/", $_POST['eMail']))
$check_email = "<li>Die eMail Adresse <b>$eMail</b> ist nicht gültig!</li>";
//Check Telefon HIER PROBLEM Nr1
if (!preg_match(ereg("/^[a-z_A-Z]/", $_POST['Telefon'])))
$check_Telefon = "<li>Die Telefonnummer <b>$Telefon</b> ist nicht gültig!</li>";
//Check PLZ HIER PROBLEM Nr2
if (!preg_match($PLZ > 1000 && $PLZ <= 99998, $_POST['PLZ']))
$check_PLZ = "<li>Diese Postleitzahl <b>$PLZ</b> ist nicht gültig!</li>";
//Check r_Fields
foreach ($HTTP_POST_VARS as $key => $value) {
if (preg_match("/r_/", $key) AND empty($value)) {
$key2 = ereg_replace ("r_", "", $key);
$checks .= "<li>Das Feld <b>$key2</b> ist leer.</li>";
}
}
// Can go on?
if (!$checks AND !$check_email AND !$check_Telefon AND !$check_PLZ AND !$check_field) {
$bordercolor = $bordercolor2;
$a = "b";
$mailcheck = "Sie wollen folgende Daten senden:<p>";
while (list($key, $val) = each($_POST)) {
$key = ereg_replace ("r_", "", $key);
$mailcheck .= "<B>$key</B>: $val<BR>\n";
}
}
eval ("\$formular = \"".gettemplate("formular")."\";");
eval ("\$check = \"".gettemplate("check")."\";");
echo $check;
}
elseif (($checking == "0" AND $a == "a") OR $a == "b") {
...bla, bla