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
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>";
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
uuups :o
So wie ich es oben geschrieben habe.
Setze vor die Zeile ein #.
Damit kannst Du in php einzelne Zeilen auskommentieren ;)
oder löschen ;)
@Excalibur100
;) ;)
@Andi :) ;)
Hmm
Beide Vorschläge versucht, bekomme aber immer noch die Fehlermeldung "Ungültiger Benutzername"
Jetzt ist guter Rat teuer ;)
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?
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....
lol, ich leider auch nicht.
Ich dachte du wüßtest es hehehehe
;) :) ;) :)
Trotzdem Danke für Eure Mühe :)
Vielleicht findet sich noch jemand der die Sache enträtseln kann.
Voigt
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
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]
@ 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]
Machen wir es doch mal andersrum...;)
Welche Sonderzeichen willst Du denn zulassen im Benutzernamen?
ZitatMachen wir es doch mal andersrum...;)
Welche Sonderzeichen willst Du denn zulassen im Benutzernamen?
LEERZEICHEN, mehr will ich doch gar nicht ;)
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.
: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 !
Klasse!!
Jetzt hab ich auch wieder was dazukapiert
thx @all :D
Um dann noch einen draufzusetzen...
Beim dem Model WebChat macht dieses Leerzeichen kleinere Probleme. D.h. man loggt sich ein, dann startet man WebChat und dann bekommt man in der Onlinelist einen Sascha Hinz und einen "geclonten" Sascha_Hinz angezeigt. Mit der Funktionstüchtigkeit der anderen Module oder mit "private messages" konnte ich bisher keine negativen Erfahrungen machen. Der WebChat war auch das einzige Modul wo es aufgefallen ist.
Stellt sich mir und vielleicht auch noch anderen die Frage, ob dieses zusätzliche Leerzeichen irgendwo anders dem System Schaden anrichten kann. Oder warum der Erfinder von phpnuke nicht gleich das Leerzeichen eingebaut hat um den Komfort zu erhöhen. Vielleicht was mit der Datenbank zu tun?
Es mag sein, dass ich irgendwo was nicht gelesen oder nicht richtig gesucht habe, aber über jegliche Bemerkung an dieser Stelle wäre ich sehr dankbar. Auf jeden Fall weiß ich nun nicht alleine mit der Leerzeichen-Problematik zu sein.
MfG
Sascha Hinz
Zitatdieses zusätzliche Leerzeichen irgendwo anders dem System Schaden anrichten kann. Oder warum der Erfinder von phpnuke nicht gleich das Leerzeichen eingebaut hat
Hmm, wüsste nicht, was ein leerzeichen für Schaden in einer SQL-Datenbank anrichten sollte. StelleDireineDatenbankganzohneleerzeichenvor,daswäredochwohluntragbar ;)
Bleibt die Frage nach dem Warum...
Für mich ist das eine faule Brücke, um Fehler, die durch unsauberen PHP-Code entstehen könnten zu vermeiden. Der Code von phpNuke ist ein Musterbeispiel für chaotischen php-Code. Wahrscheinlich (ich habe noch nicht reingeschaut) sieht es im Chatmodul genauso aus....
[Editiert am 7.8.2002 von SiteAdmin Andi]
mhhh, nun ja das Chatmodul trägt auch Eure Handschrift. Ich war allerdings froh das es überhaupt irgendwie klappt... deswegen bloß keine Umstände machen.
PHP-NUKE: WebChat phpNuke 5.5
## ================================================
## Copyright Å 2002 DarkBoy (info@maax-design.de) ;)