pragmaMx Support Forum pragmaMx Support Forum

Benutzernamen mit Sonderzeichen

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Voigt

  • **
  • 58
  • +0/-0
Benutzernamen mit Sonderzeichen
« am: 12 Juni 2002, 20:49:40 »
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

Offline Andi

  • *****
  • 18.832
  • +4/-0
  • Geschlecht: Männlich
Re: Benutzernamen mit Sonderzeichen
« Antwort #1 am: 12 Juni 2002, 20:58:12 »
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

Offline Voigt

  • **
  • 58
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #2 am: 12 Juni 2002, 21:20:25 »
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

Offline Andi

  • *****
  • 18.832
  • +4/-0
  • Geschlecht: Männlich
Re: Benutzernamen mit Sonderzeichen
« Antwort #3 am: 12 Juni 2002, 21:25:53 »
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

Offline Excalibur100

  • ****
  • 266
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #4 am: 12 Juni 2002, 21:33:05 »
oder löschen ;)

Offline Andi

  • *****
  • 18.832
  • +4/-0
  • Geschlecht: Männlich
Re: Benutzernamen mit Sonderzeichen
« Antwort #5 am: 12 Juni 2002, 21:34:53 »
@Excalibur100

 ;) ;)
schön´s Grüssle, Andi

Offline Excalibur100

  • ****
  • 266
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #6 am: 12 Juni 2002, 21:44:55 »
@Andi :) ;)

Offline Voigt

  • **
  • 58
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #7 am: 12 Juni 2002, 21:54:08 »
Hmm

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

Jetzt ist guter Rat teuer ;)

Offline Excalibur100

  • ****
  • 266
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #8 am: 12 Juni 2002, 21:58:34 »
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?

Offline Andi

  • *****
  • 18.832
  • +4/-0
  • Geschlecht: Männlich
Re: Benutzernamen mit Sonderzeichen
« Antwort #9 am: 12 Juni 2002, 22:16:46 »
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

Offline Excalibur100

  • ****
  • 266
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #10 am: 12 Juni 2002, 22:18:19 »
lol, ich leider auch nicht.
Ich dachte du wüßtest es  hehehehe

;)  :)  ;)  :)

Offline Voigt

  • **
  • 58
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #11 am: 12 Juni 2002, 22:57:26 »
Trotzdem Danke für Eure Mühe :)
Vielleicht findet sich noch jemand der die Sache enträtseln kann.

Voigt

Offline Andi

  • *****
  • 18.832
  • +4/-0
  • Geschlecht: Männlich
Re: Benutzernamen mit Sonderzeichen
« Antwort #12 am: 13 Juni 2002, 09:14:30 »
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

Offline Joschau

  • ***
  • 238
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #13 am: 13 Juni 2002, 11:09:19 »
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]

Offline Voigt

  • **
  • 58
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #14 am: 13 Juni 2002, 15:20:23 »
@ 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]

Offline Joschau

  • ***
  • 238
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #15 am: 14 Juni 2002, 11:43:56 »
Machen wir es doch mal andersrum...;)

Welche Sonderzeichen willst Du denn zulassen im Benutzernamen?

Offline Voigt

  • **
  • 58
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #16 am: 14 Juni 2002, 14:20:38 »
Zitat
Machen wir es doch mal andersrum...;)

Welche Sonderzeichen willst Du denn zulassen im Benutzernamen?


LEERZEICHEN, mehr will ich doch gar nicht ;)

Offline Joschau

  • ***
  • 238
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #17 am: 14 Juni 2002, 14:59:35 »
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.

Offline Voigt

  • **
  • 58
  • +0/-0
Re: Benutzernamen mit Sonderzeichen
« Antwort #18 am: 14 Juni 2002, 15:13:01 »
 :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 !

Offline Andi

  • *****
  • 18.832
  • +4/-0
  • Geschlecht: Männlich
Re: Benutzernamen mit Sonderzeichen
« Antwort #19 am: 14 Juni 2002, 15:16:47 »
Klasse!!

Jetzt hab ich auch wieder was dazukapiert

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