Hallo Mike,
if(ereg("[a-z_A-Z]",$from_phone[...]<-- Hier wird geprüft ob auch Zahlen oder ein Minus eingegeben wurde
nein, du prüfst hier ob in $from_phone mindestends ein Buchstabe oder ein Unterstrich enthalten sind. Außerdem verwendest du die langsameren ereg*-Funktionen - nimm besser die preg_*-Funktionen. Um eine Meldung auszugeben, wenn in einer Variablen etwas anderes als Zahlen und Minuszeichen enthalten sind, ist sowas imho sinnvoller:
if(!preg_match('~[1]+$~',$var)){
echo 'Die Telefonnummer darf nur aus Zahlen und dem Minuszeichen bestehen';
}
ich würde aber evtl. noch Schrägstriche, das Plus und Leerzeichen zu den erlaubten Zeichen hinzufügen.
kurze Erläuterung zum regulären Ausdruck:
~ Begrenzer des regulären Ausdrucks
^ "verankert" den Ausdruck am Stringanfang
[0-9-] Eine Zeichenklasse mit Zahlen und dem Minus
+ mindestens ein Zeichen aus der Zeichenklasse vorher
$ "verankert" den Ausdruck am Stringende
~ Begrenzer
Grüße aus Nürnberg
Tobias
0-9- ↩︎