Seite 1 von 1

[3.2] Benutzernamen weiter einschränken

Verfasst: 15.02.2018 19:17
von Ypselon
Ich möchte gerne in einem Rollenspiel Forum die Benutzernamen bei der Registrierung so weit einschränken, das nur folgende Zeichen möglich sind :

abcdefghijklmnopqrstuvwxyzöäüßABCDEFGHIJKLMNOPQRSTUVWXYZÜÖÄ- '

Also nur das Alphabet sowie das - und das ' Symbol, sowie Leerzeichen.

Es geht mir darum, das Namen mit Zahlen oder Sonderzeichen nicht gestattet sind, aber trotz fettem Hinweis, bei der Registrierung und auch im Forum, meinen einige das nicht lesen zu müssen.

Da ich nun onehin ein neues Forum aufbaue, wo sich jeder neu registrieren muss, möchte ich nun gleich von vornerein festlegen, was an Namen erlaubt ist.
Ich kann zwar im Admin Bereich die Zeichen etwas einschränken, aber leider kann ich zum Beispiel Zahlen nicht einschränken.

Daher suche ich nun eine Erweiterung die mir das bietet, oder auch eine direkte Änderung in den Forumdateien, damit dieses möglich ist.

Ich würde mich freuen wenn jemand eine Lösung wüsste.

Re: [3.2] Benutzernamen weiter einschränken

Verfasst: 15.02.2018 23:04
von canonknipser
Eine Erweiterung ist mir nicht bekannt, du kannst es aber direkt in den Forendateien versuchen (musst du dann allerdings bei jedem Update neu machen)
öffne includes/functions_user.php
suche

Code: Alles auswählen

        case 'USERNAME_ALPHA_SPACERS':
            $regex = '[A-Za-z0-9-[\]_+ ]+';
        break;
Ersetze mit

Code: Alles auswählen

        case 'USERNAME_ALPHA_SPACERS':
            $regex = '[A-Za-zäöüßÄÖÜ-[\]_+ ]+';
        break;

Re: [3.2] Benutzernamen weiter einschränken

Verfasst: 16.02.2018 19:32
von Ypselon
Danke, werde ich mal ausprobieren, sobald es meine Zeit zulässt.

Re: [3.2] Benutzernamen weiter einschränken

Verfasst: 14.08.2022 13:36
von Ypselon
So, ich habe nun mein Forum auf phpBB 3.3.8 aktualisiert, dieses kleinen Snippet eingebaut und bekomme nun folgende Meldung nach der Überprüfung des Namens bei der Registrierung :

Code: Alles auswählen

[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions_user.php on line 1789: preg_match(): Compilation failed: range out of order in character class at offset 23
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4149: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3027)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4149: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3027)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4149: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3027)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4149: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3027)
Ich verwende PHP 8.0, weiss jemand was ich ändern müsste ?

PS: Das hat wohl irgendwas mit den Umlauten zu tun, diese würde ich aber im Benutzernamen gerne erlauben ...

Re: [3.2] Benutzernamen weiter einschränken

Verfasst: 15.08.2022 08:13
von Dr.Death
Umlaute werden in preg_match nicht unterstützt.

Re: [3.2] Benutzernamen weiter einschränken

Verfasst: 16.08.2022 16:49
von Passat
Dazu eine Frage:
Was ist denn der Unterschied zwischen "Nur alphanummerische Zeichen" und "Alle Buchstaben und Ziffern"?

Re: [3.2] Benutzernamen weiter einschränken

Verfasst: 16.08.2022 17:14
von Talk19zehn