Benutzernamen - Regeln für die Registrierung

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Feuerwolf
Mitglied
Beiträge: 456
Registriert: 11.09.2005 12:40
Wohnort: St Gallen

Benutzernamen - Regeln für die Registrierung

Beitrag 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';
 	}
Zuletzt geändert von Feuerwolf am 27.08.2007 00:05, insgesamt 1-mal geändert.
Suche einen php Programmierer der in der NordOstschweiz wohnt.
Benutzeravatar
Feuerwolf
Mitglied
Beiträge: 456
Registriert: 11.09.2005 12:40
Wohnort: St Gallen

Beitrag von Feuerwolf »

Kann mir jemand sagen, wo die Benutzernamen auf erlaubte Zeichen geprüft werden?
Suche einen php Programmierer der in der NordOstschweiz wohnt.
Benutzeravatar
Emanuelle_1982
Mitglied
Beiträge: 535
Registriert: 06.03.2006 18:37
Wohnort: Nümbrecht & Siegen
Kontaktdaten:

Beitrag 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 ].
Benutzeravatar
Feuerwolf
Mitglied
Beiträge: 456
Registriert: 11.09.2005 12:40
Wohnort: St Gallen

Beitrag 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
Suche einen php Programmierer der in der NordOstschweiz wohnt.
Benutzeravatar
Emanuelle_1982
Mitglied
Beiträge: 535
Registriert: 06.03.2006 18:37
Wohnort: Nümbrecht & Siegen
Kontaktdaten:

Beitrag von Emanuelle_1982 »

includes/functions_user ->
function validate_username($username, $allowed_username = false)

hilft dir das schon weiter?
Benutzeravatar
Feuerwolf
Mitglied
Beiträge: 456
Registriert: 11.09.2005 12:40
Wohnort: St Gallen

Beitrag 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.
Suche einen php Programmierer der in der NordOstschweiz wohnt.
Benutzeravatar
Emanuelle_1982
Mitglied
Beiträge: 535
Registriert: 06.03.2006 18:37
Wohnort: Nümbrecht & Siegen
Kontaktdaten:

Beitrag 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
  1. eine if Bedingung endet nicht mit ;
    Feuerwolf hat geschrieben:else if (strpos(((substr($username,2,(strlen($username))))-4),' ')<=0);
  2. 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 :wink:

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
Benutzeravatar
Feuerwolf
Mitglied
Beiträge: 456
Registriert: 11.09.2005 12:40
Wohnort: St Gallen

Beitrag 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.
Suche einen php Programmierer der in der NordOstschweiz wohnt.
Benutzeravatar
Emanuelle_1982
Mitglied
Beiträge: 535
Registriert: 06.03.2006 18:37
Wohnort: Nümbrecht & Siegen
Kontaktdaten:

Beitrag 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 ?
Benutzeravatar
Feuerwolf
Mitglied
Beiträge: 456
Registriert: 11.09.2005 12:40
Wohnort: St Gallen

Beitrag 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
Suche einen php Programmierer der in der NordOstschweiz wohnt.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“