Nur alphanumerische Usernamen zulassen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Hier die Datei zurück.
Ich habe mal ein klein wenig angepasst, so daß es funktionieren sollte.
Und im Falle eines "Fehlers" sollten auch die fehlerhaften Zeichen mit angezeigt werden.
Ich habe mal ein klein wenig angepasst, so daß es funktionieren sollte.
Und im Falle eines "Fehlers" sollten auch die fehlerhaften Zeichen mit angezeigt werden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Danke für die Anpassung oxpus!
Leider klappts noch immer nicht. Wen ich mich mit dem Benutzernamen "Sauerkraut" anmelde, kommt nach wie vor die Meldung: "Der eingegebene Name beinhaltet 2 ungültige Zeichen!"
Und angezeigt werden die beiden aa.´s...
Auch andere Benutzernamen die ein "a" enthalten werden nicht akzeptiert....
Nur, warum ist das so?
¦8
Leider klappts noch immer nicht. Wen ich mich mit dem Benutzernamen "Sauerkraut" anmelde, kommt nach wie vor die Meldung: "Der eingegebene Name beinhaltet 2 ungültige Zeichen!"
Und angezeigt werden die beiden aa.´s...
Auch andere Benutzernamen die ein "a" enthalten werden nicht akzeptiert....
Nur, warum ist das so?
¦8
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Ach ja, weil...
Also ändere mal
in dieses hier ab:
Wenn das so klappt, habe ich einen typischen Anfängerfehler mit dieser Funktion begangen: Das "a" steht ja an der ersten Position im Vergleichsstring. Die erste Position ist aber "0" und nicht "1"!
Die Bedingung liefert aber auch bei "0", was ja beim "a" zurückkommt eine Unwahrheit, es wird also "scheinbar" ein Fehler festgestellt.
Daher ist hier mit "!== false" genauer geprüft werden, ob dieses nicht zutrifft, also ob "false" exakt dem Ergebnis entspricht. "0" wäre dann eben nicht "false"
Soviel zur Theorie.
Wenn das damit klappt, ändere ich auch sofort mein Snippet ab.
Also ändere mal
Code: Alles auswählen
if (!strpos($check_string, $check_char))Code: Alles auswählen
if (strpos($check_string, $check_char) !== false)Die Bedingung liefert aber auch bei "0", was ja beim "a" zurückkommt eine Unwahrheit, es wird also "scheinbar" ein Fehler festgestellt.
Daher ist hier mit "!== false" genauer geprüft werden, ob dieses nicht zutrifft, also ob "false" exakt dem Ergebnis entspricht. "0" wäre dann eben nicht "false"
Soviel zur Theorie.
Wenn das damit klappt, ändere ich auch sofort mein Snippet ab.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
- karstenkurt
- Beiträge: 597
- Registriert: Do 31.Mär, 2005 20:20
- Kontaktdaten:
Habs auch mal eingebaut, mit allen Änderungen!
Bekomme bei der Eingabe von Almöhi folgende Meldungen;
und
Ein falsches Zeichen ok, aber 2? Ein Änderung des Namens auf almoehi oder Almoehi liefert immer noch ein falsches Zeichen!
Bekomme bei der Eingabe von Almöhi folgende Meldungen;
Code: Alles auswählen
Der Benutzername muss alphanumerisch sein. Der eingegebene Name beinhaltet 2 ungültige Zeichen!Code: Alles auswählen
Warning: strpos(): Empty delimiter. in D:\xampp\xampp\xampp\htdocs\xxx\includes\usercp_register.php on line 456Ich hatte die Schleife damals durch einen regulären Ausdruck ersetzt (nicht auf meinem Schmalz gewachsen
)
Zwar wird dann die Anzahl der ungültigen zeichen nicht mehr mit ausgegeben, aber ich habe seither keine Probleme ählichen Fehlermeldungen like karstenkurt.
PS: Der Smile stellt hoch-a dar
Code: Alles auswählen
if (preg_match('/[^a-z0-9 ]/i',$username))
{
$error = true;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ).$lang['Username_not_alphanumeric'];
}PS: Der Smile stellt hoch-a dar
- Christian_N
- Beiträge: 1787
- Registriert: Sa 19.Feb, 2005 21:48
- Wohnort: Frankfurt am Main
- Kontaktdaten:
Also sicherheitshalber, meint es modbo so:
einfach "Smilies in diese Beitrag deaktiviert" mal ;-)
Code: Alles auswählen
if (preg_match('/[^a-z0-9 ]/i',$username))
{
$error = true;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ).$lang['Username_not_alphanumeric'];
}Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
- karstenkurt
- Beiträge: 597
- Registriert: Do 31.Mär, 2005 20:20
- Kontaktdaten:
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Scheinbar die letzte Änderung doch nicht gemacht, denn dann wird auch angezeigt, welche Zeichen falsch sind 
Also so ab Beitrag #19...
Also so ab Beitrag #19...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
- karstenkurt
- Beiträge: 597
- Registriert: Do 31.Mär, 2005 20:20
- Kontaktdaten:
Hallo,
ich habe ewig nach so einem Snippet gesucht, habe dieses hier gefunden. Gefällt mir sehr gut, ich habe nur ein Problem mit deutschen Umlauten. Zusätzlich zum alphanumerischen möchte ich - _ . ä ö ü ß Ä Ö Ü erlauben. Die Striche sowie die Punkte funktionieren, aber einen Nick mit Umlauten kann ich nicht registrieren.
Woran kann das liegen ?
ich habe ewig nach so einem Snippet gesucht, habe dieses hier gefunden. Gefällt mir sehr gut, ich habe nur ein Problem mit deutschen Umlauten. Zusätzlich zum alphanumerischen möchte ich - _ . ä ö ü ß Ä Ö Ü erlauben. Die Striche sowie die Punkte funktionieren, aber einen Nick mit Umlauten kann ich nicht registrieren.
Woran kann das liegen ?
Code: Alles auswählen
*schnippsel*
if ( $board_config['allow_namechange'] || $mode == 'register' )
{
$check_string = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789._-äöüßÄÖÜ';
$check_errors = 0;
for ($i = 1; $i <= strlen($username); $i++)
{
$j = $i - 1;
$check_char = $username{$j};
if (!strpos($check_string, $check_char))
{
$check_errors++;
}
}
if ($check_errors != 0)
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br>' : '' ) . sprintf($lang['Username_not_alphanumeric'], $check_errors);
}
*schnippsel*
Zuletzt geändert von Azrael am Sa 08.Jul, 2006 10:18, insgesamt 1-mal geändert.
Hallo,
also bei mir sieht Deine Zeile (Nr6) so aus:
Da sind nun nicht Punkte und Tief- Bindestriche erlaubt, aber es funktioniert so weit mit den Umlauten.
Du könntest ja mal versuchen, die Reihenfolge etwas zu ändern:
Manchmal ist das ja schon die Lösung.
Gruß Max
also bei mir sieht Deine Zeile (Nr6) so aus:
Code: Alles auswählen
$check_string = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZöÖüÜäÄß0123456789'; Du könntest ja mal versuchen, die Reihenfolge etwas zu ändern:
Code: Alles auswählen
$check_string = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZöÖüÜäÄß0123456789_-.';Gruß Max
- oxpus
- Administrator
- Beiträge: 28735
- Registriert: Mo 27.Jan, 2003 22:13
- Wohnort: Bad Wildungen
- Kontaktdaten:
Die bleiben ja unberührt.
Du kannst diese ja bitten, einen neuen Usernamen zu nennen, aber verwendet werden können die.
Es geht hier auch nur im neue Usernamen, bzw. beim Ändern selbiger.
Du kannst diese ja bitten, einen neuen Usernamen zu nennen, aber verwendet werden können die.
Es geht hier auch nur im neue Usernamen, bzw. beim Ändern selbiger.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!

