Seite 1 von 2
Benutzernamen - Regeln für die Registrierung
Verfasst: 23.05.2007 12:45
von Feuerwolf
Ich möchte gerne Folgende Regel einfügen, Ein jeder neu registrierter Benutzername muss zwischen dem zweiten und dem zweitletzten Zeichen min ein Leerzeichen enthalten. Um eine Illusion von Vor- und Nachnamen zu erschaffen. Wo muss ich wie den code dafür anpassen
*edit*
folgende Lösung hat funktioniert:
Code: Alles auswählen
if (substr_count (substr ($username, 2, (Strlen ($username) - 4)), ' ') <= 0)
{
return 'INVALID_CHARS';
}
Verfasst: 24.05.2007 21:11
von Feuerwolf
Kann mir jemand sagen, wo die Benutzernamen auf erlaubte Zeichen geprüft werden?
Verfasst: 24.05.2007 21:30
von Emanuelle_1982
ACP - Allgemein - Registrierung -
Erlaubte Zeichen in Benutzernamen:
Legt fest, welche Zeichen in Benutzernamen genutzt werden können. Füllzeichen sind: Leerzeichen, -, +, _, [ und ].
Verfasst: 24.05.2007 21:39
von Feuerwolf
ich suche den Bereich im php in dem die Benutzernamen geprüft werden, und ich dann eine neue bedingung hinzufügen kann.
->
Feuerwolf hat geschrieben:...Benutzername muss zwischen dem zweiten und dem zweitletzten Zeichen min ein Leerzeichen enthalten
Verfasst: 24.05.2007 21:47
von Emanuelle_1982
includes/functions_user ->
function validate_username($username, $allowed_username = false)
hilft dir das schon weiter?
Verfasst: 24.05.2007 22:59
von Feuerwolf
Hat mir weitergeholfen
Hab folgenden code erstellt:
"
>" bezeichnet meinen Code
Code: Alles auswählen
function validate_string($string, $optional = false, $min = 0, $max = 0)
{
if (empty($string) && $optional)
{
return false;
}
if ($min && utf8_strlen(htmlspecialchars_decode($string)) < $min)
{
return 'TOO_SHORT';
}
else if ($max && utf8_strlen(htmlspecialchars_decode($string)) > $max)
{
return 'TOO_LONG';
}
> else if (strpos(((substr($username,2,(strlen($username))))-4),' ')<=0);
> {
> return 'INVALID_CHARS';
> }
return false;
}
leider erhalte ich als Resultat nur eine weisse Seite.
Verfasst: 24.05.2007 23:20
von Emanuelle_1982
also... am Rande: du solltest dir mal den Coding Guideline auf deutsch
http://olympuswiki.naderman.de/Deutsch: ... ode_Layout -> Abschnitt:
Benutzen Sie Leerzeichen zwischen den Ausdrücken/Tokens
soo... und 2 Fehler sind mir aufgefallen
- eine if Bedingung endet nicht mit ;
Feuerwolf hat geschrieben:else if (strpos(((substr($username,2,(strlen($username))))-4),' ')<=0);
- strpos($string, $suchstring, offset) -> bei dir ist der Suchstring -4, und das offset:
also... teile das mal in 2 bis 3 Zeilen auf, und lasse mal ein paar Klammerpaare weg - wird übersichtlicher
und sorry wenn ich die Lösung jetzt nicht poste - danach sollte es gehen
*nur nen test mit mini php Datei gemacht hat*
Liebe Grüße
Emma
Verfasst: 25.05.2007 09:01
von Feuerwolf
Also das mit den zwei bis 3 Zeilen, weis ich nicht, wie ich das am besten realisiere. Aber ich denke, dass ich zumindest das durcheinander etwas lüften konnte. Ich verstehe was ich da geschrieben habe mittlerweile schon besser.
Code: Alles auswählen
else if (substr_count (substr ($username, 2, (Strlen ($username) - 4)), ' ') <= 0)
{
return 'INVALID_CHARS';
}
aber es funktioniert noch immer nicht.
Verfasst: 25.05.2007 09:24
von Emanuelle_1982
Code: Alles auswählen
(substr_count(
substr(
$username, // nehme USERNAMEN
2, // usERNAME
(Strlen($username) - 4) // usERNAme strlen ist 8, -4 = 4, also ab ER 4 Zeichen ; -3 ??
), // also wird ERNA durchsucht
' ') // suche nach einem Leerzeichen
<= 0) // es dürfen nur weniger oder genau 0 sein? ; > 0 ?
Verfasst: 25.05.2007 10:55
von Feuerwolf
Emanuelle_1982 hat geschrieben:Code: Alles auswählen
...
' ') // suche nach einem Leerzeichen
<= 0) // es dürfen nur weniger oder genau 0 sein? ; > 0 ?
Wenn kein Leerzeichen enthalten ist soll er den INVALID_CHARS Fehler ausgeben