jo, das macht natürlich sinn, da auch eine abfrage dahingehend einzubauen.
wobei ich da empfehlen würde, das ganze per regulärem ausdruck zu überprüfen, mag zwar für php-anfänger etwas verwirrend aussehen, brignt aber in dem falle am meisten, da es auch die meisten möglichkeiten bietet:
datei: content/intern/anmelden.php
zwischen:
PHP-Code:
if ($schnittstelle['anfragen_tag'] != 0 and $schnittstelle['anfragen_tag'] <= $s_verbrauch) $error = 'Die Schnittstellenanfragen sind für heute verbraucht!!!<br>';
... //hier einfügen ...
// User mit der Datenbank abgleichen
if (!$error) {
folgendes einfügen:
PHP-Code:
if(!preg_match('/^[a-z0-9]{3,20}$/iD', $_POST['nickname']) ){
$error.= 'Bitte nur Buchstaben und Ziffern verwenden! [a-z,A-Z,0-9]<br>';
}
dieses suchmuster /^[a-z0-9]{3,20}$/iD erkläre ich jetzt noch schnell, denke sollte aber so in etwas schon den erwartugnen entsprechen:
erlaubt sind im nickname alle buchstaben von a bis z, aber nur die englischen, also nicht ß,ä,ü,ö, wobei die groß/kleinschreibung keine rolle spielt. zusätzlich sind alle ziffern erlaubt (der username kann auch nur aus ziffern bestehen), und es müssen mindestens 3 zeichen sein, aber maximal 20.
wenn der eingegebene nickname dem nicht entspricht, wird eben die fehlermeldung angezeigt, am besten noch im html code hinter "nickname" noch schreiben, dass 3-20 zeichen sein müssen oder so.
varianten:
/^[a-z0-9]{3,20}$/iD
die 3 und die 20 geben mindest bzw. maximal länge an, können je nach bedarf angepasst werden
/^[a-z0-9][a-z0-9_-]{1,18}[a-z0-9]$/iD
jetzt sind auch strich (-) und unterstrich (_) erlaubt, aber nur in der mitte, also das erste und das letzte zeichen müssenbuchstabe bzw. zahl sein
(nun statt 3,20 je 2 weniger)
/^[A-Z][a-z]{2,19}$/D
der erste buchstabe muss groß sein, alle anderen klein (bietet sich an beim überprüfen von "echten" namen)
und genau diese überprüfung kann man dann auch im userprofil durchführen, falls man die änderung zulässt.