Benutzernamen mit Sonderzeichen

Begonnen von Voigt, 12 Juni 2002, 20:49:40

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Voigt

Hallo !

Vorerst, habe die Suche benutzt, dazu aber nichts gefunden  ;)

Ist es möglich im User-Account, den Benutzernamen auch mit Sonderzeichen (Leerzeichen)  zuzulassen ? Mit dem Admin-Account ist die ohne weiteres möglich.

THX
Voigt

Andi

Hi Voigt,

Ja das geht, schau mal in die index.php des YA-Moduls. In der Funktion userCheck() kommentiere die folgende Zeile aus:

#  if (strrpos($uname,' ') > 0) $stop = "<center>"._NICKNOSPACES."</center>";
schön´s Grüssle, Andi

Voigt

Hi Andi

Wenn Du mir jetzt noch verrätst wie das
"auskommentieren" vonstatten geht wäre ich dir sehr Dankbar  :)

Bin Anfänger :cry

Voigt

Andi

uuups :o

So wie ich es oben geschrieben habe.
Setze vor die Zeile ein #.
Damit kannst Du in php einzelne Zeilen auskommentieren  ;)
schön´s Grüssle, Andi

Excalibur100


Andi

schön´s Grüssle, Andi

Excalibur100


Voigt

Hmm

Beide Vorschläge versucht, bekomme aber immer noch die Fehlermeldung "Ungültiger Benutzername"

Jetzt ist guter Rat teuer ;)

Excalibur100

Da ist noch was in Zeile 60:

    if ((!$uname) || ($uname=="") || (ereg("[^a-zA-Z0-9_-]",$uname))) $stop = "<center>"._ERRORINVNICK."</center><br>";

vielleicht erweiterst du hier einfach um die Sonderzeichen, oder Andi?

Andi

Ja, das müsste es sein.

Jetzt fragt mich aber bitte nicht, wie man den ereg-String erweitert :puzz.
Das blicke ich auch noch nicht ganz....
schön´s Grüssle, Andi

Excalibur100

lol, ich leider auch nicht.
Ich dachte du wüßtest es  hehehehe

;)  :)  ;)  :)

Voigt

Trotzdem Danke für Eure Mühe :)
Vielleicht findet sich noch jemand der die Sache enträtseln kann.

Voigt

Andi

Hi Voigt,

das ereg-Thema ist ganz schön komplex und nicht leicht zu verstehen.
Hier handelt es sich aber um ein recht einfaches.....

Versuche mal, was passiert, wenn Du in den String  ..... ("[^a-zA-Z0-9_-]",$ ..., vor der schliessenden eckigen Klammer ] ein Leerzeichen setzt.
So wie ich das kapiert habe, sollte es dannn gehen :puzz
schön´s Grüssle, Andi

Joschau

Kurzanmerkung zum Thema ;)

ereg verwendet sogenannte reguläre Ausdrücke zur Überprüfung eines Strings. Dabei prüft ereg anhand eines Suchmusters, ob die in dem Suchmuster benannten Zeichen in einem String vorkommen.

ereg (Suchmuster, String)

Die Definition der regulären Ausdrücke zu erklären, würde etwas viel Aufwand erfordern... ;) , aber wen es in Grundzügen interessiert, kann mal folgenden Link nachlesen:

http://www.devmag.net/webprog/regulaere_ausdruecke.htm

Daraus lernen wir folgendes ;) :

ereg("[^a-zA-Z0-9_-]",$uname)

Der String uname darf nicht die Zeichen Kleinbuchstaben von a-z, Großbuchstaben von A-Z und Ziffern von 0-9, sowie den Unterstrich und den Bindestrich enthalten.

Bevor gleich Nachfragen kommen ;)

FB hat bei der Programmierung um die Ecke gedacht...er wollte ein Stop-Signal, wenn ein anderes als die in dem Suchmuster vorkommenden Zeichen in dem String uname enthalten ist. Also musste er die Zeichen, die er drin haben wollte, quasi als verboten definieren, um von ereg ein TRUE zu bekommen, wenn ein anderes Zeichen in dem String drin wäre. Alles klar ??? :D

Wenn Du nun ein Leerzeichen vor die schließende eckige Klammer machst, darf der String auch (k)ein Leerzeichen enthalten.

Wenn der String auch andere Zeichen (nicht) enthalten sollen darf (oder sollen enthalten dürfen oder enhalten dürfen soll), müssen diese ebenfalls dezidiert in das Suchmuster aufgenommen werden, also zwischen die eckigen Klammern gesetzt werden...wobei die Zeichen bitte immer hinter dem einführenden ^ eingefügt werden müssen....

[Bearbeitet am: 13/6/2002 von Joschau]

Voigt

@ Joschau
Toll erklärt, aber ich hab' nix kapiert :P
Was heisst das jetzt für mich?  :o

@ Andi
Hab das Leerzeichen gesetzt. Der Benutzername wird nun auch mit Leerzeichen angenommen, dennoch geht es nicht ohne Fehlermeldung ab.

Warning: REG_ERANGE in modules/Your_Account/index.php on line 111

THX
Voigt[Bearbeitet am: 13/6/2002 von Voigt]

Joschau

Machen wir es doch mal andersrum...;)

Welche Sonderzeichen willst Du denn zulassen im Benutzernamen?

Voigt

ZitatMachen wir es doch mal andersrum...;)

Welche Sonderzeichen willst Du denn zulassen im Benutzernamen?

LEERZEICHEN, mehr will ich doch gar nicht ;)

Joschau

Also bei mir funktioniert es, wenn ich in das Suchmuster ein Leerzeichen einfüge:

(ereg("[^ a-zA-Z0-9_-]",$uname))


und die Zeile, die Andi schon gennant hat, auskommentiere (Z 113):

//    if (strrpos($uname,' ') > 0) $stop = "<center>"._NICKNOSPACES."</center>";


Dann bekomme ich keine Fehlermeldungen mehr.

Voigt

 :D :D

Die Fehlermeldung ist nun wech !
Das Leerzeichen steht jetzt am Anfang des Suchmusters, steht das Leerzeichen am Ende, kommt ne Fehlermeldung :quest
Ist ja jetzt auch egal, funktioniert nun einwandfrei :D

Nochmals DANKE für die Mühe die ihr euch gemacht habt !

Andi

Klasse!!

Jetzt hab ich auch wieder was dazukapiert

thx @all :D
schön´s Grüssle, Andi