Hallo Daniel1987,
if(!ereg('[1]+$',$_POST['vorname']) && !empty($_POST['vorname']))
{
$error['anmeldung']['vorname']['2'] = 'Der Vorname enthält ungültige Zeichen!<br />';
}
ganz schlecht. Statt ereg lieber Perl-kompatible (& POSIX-konforme) und perfomancemäßig schnellere preg-unktionen nutzen. In diesem Fal also
if(!preg\_match("^[a-zA-Z]+$", ...) && ....)
> das war noch ein stück code von älteren programmen.
ziemlich alt, preg gabs schon zu den Zeiten, als ich mit PHP anfing bzw. noch PHP schrieb (und das war vor JAHREN).
> Als ich mir dann überlegte das namen auch aus anderen zeichen bestehen könnten:
> ö,Ö,ä,Ä,ü,Ü,ß,- (bei doppelnamen)
> habe ich mir mal überlegt wie ich das dazu addieren könnte. ich habe zwar viel über diese funktion raus gefunden und auch wie sie funktioniert, aber ich weiß nicht wie ich sie ausbauchen kann. :-( bzw. was das "+$" bedeutet?
Sowohl in der PHP-Dokumentation als auch an zahlreichen anderen Stellen, z.B. in SELFHTML im Kapitel Perl gibts eine Menge Erklärung zu Regulären Ausdrücken.
Ohne grundlegend anzufangen (siehe dort) erkläre ich dir kurz deinen Regex:
^[a-zA-Z]+$ matcht auf einen String, der nur aus Buchstabenkombinationen im Bereich von kleinem a bis z oder großem A-Z besteht. Das sagt [a-zA-Z], das plus dahinter, dass min. eins von diesen Zeichen da sein muss, und das ^ und $, dass dies den gesamten String darstellen muss.
Entsprechend muss der Regex erweitert werden: ^[a-zA-ZöÖüÜäÄß-]+$
(ggf. Zeichensatzprobleme erwarten!)
Grüße,
Sven
a-zA-Z ↩︎