Benutzername in Vorname + Nachname aufteilen

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
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
the_zoker_09
Mitglied
Beiträge: 228
Registriert: 13.08.2011 14:39

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von the_zoker_09 »

Und wie kann ich damit arbeiten?

Der Sinn hinter der Sache ist der, dass das ein Schulforum ist und sich die Leute mit ihrem Vornamen + Nachnamen registrieren sollen, damit jeder weiss wer-wer ist.

Und da das Wort Benutzername nicht ganz so dem Zweck entspricht, soll dieser in Vorname und Nachname gesplittet werden.

Also wenn ein Nutzer einen Account registriert gibt er in einem Feld seinen Vornamen ein und in einem anderen Feld seinen Nachnamen.
Das sieht dann so aus:
[ externes Bild ]

Da es aber denk ich einen zu großen Umbau von phpBB bedarf, um alle Benutzernamen Variablen in Vorname + Nachname aufzuteilen, soll die Variable Benutzername dennoch erhalten bleiben.

Wenn sich nun ein Nutzer registriert und seinen Vornamen und seinen Nachnamen in das Formular eingibt, sollen diese beiden Variablen in der Datenbank gespeichert werden.

Da es aber trozdem die Variable Benutzername geben soll, muss diese aus dem Vornamen und dem Nachnamen erzeugt werden.
Also am besten ein php Script, dass in der Datenbank zusätzlich zu dem Vornamen und dem Nachnamen noch einen Benutzernamen einspeichert, der aus "Vorname + Nachname" besteht.

Wenn sich also ein Max Musterman registriert, gibt er in dem Formluar einmal "Max" und einmal "Musterman" ein. Aus diesen beiden Werten wird zusätzlich ein Benutzername generiert. In diesem Fall "Max Musterman".
Der Datenbank eintrag sieht also so aus:

Code: Alles auswählen

Vorname: Max
Nachname: Musterman
Benutzername: Max Musterman
Wenn man sich jetzt anmeldet, soll im System der Benutzername abgefragt werden und nicht Vorname und Nachname (das macht die Sache leichter).

Auch wenn man bei Beiträgen mit
{postrow.POST_AUTHOR}
arbeitet, soll der Benutzername abgerufen werden.

Der Benutzer an sich arbeitet mit den zwei neuen Variablen nur, wenn er sie erstellt oder bearbeitet.

Wenn das System den Namen ausgeben will, wird mit dem Benutzernamen gearbeitet.

Ich hoffe das war verständlich, wenn nicht bitte nachfragen.
Das Problem ist nur, wie ich das umsetzen kann.
Geht das irgendwie?

Vielen Dank
the_zoker_09
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von Miriam »

Soweit verstanden (hoffe ich).
Was hält Dich davon ab, im Feld "Benutzername" den Vor- und Familiennamen einzugeben, bzw. eingeben zu lassen?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
the_zoker_09
Mitglied
Beiträge: 228
Registriert: 13.08.2011 14:39

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von the_zoker_09 »

Daran hab ich natürlich auch gedacht.
Ist aber leider nicht so schön, als wenn es die beiden Felder einzeln gäbe.

Außerdem wäre das was die User eingeben sollen deutlicher.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von gn#36 »

Ich würde mir den Aufwand sparen, das auch für die Admins zu trennen. Denen sollte man zutrauen, den Namen nur auf "Vorname Nachname" zu ändern. Alle anderen brauchen den Namen nicht bearbeiten, denn üblicherweise ändert sich der Realname ja nicht. Bleibt also lediglich die Trennung während der Registrierung.

Achtung ungetestet - bitte vorher Backups machen!

Öffne includes/ucp_register.php und finde

Code: Alles auswählen

$data = array(
   'username'            => utf8_normalize_nfc(request_var('username', '', true)),
ersetze durch

Code: Alles auswählen

$vorname = utf8_normalize_nfc(request_var('vorname', '', true)); 
$name =  utf8_normalize_nfc(request_var('username', '', true));
$username = $vorname . ' ' . $name;
$data = array(
   'username'            => trim($username),
Etwas weiter unten finden:

Code: Alles auswählen

$template->assign_vars(array(
             'ERROR'                => (sizeof($error)) ? implode('<br />', $error) : '',
             'USERNAME'            => $data['username'],
ersetzen durch:

Code: Alles auswählen

$template->assign_vars(array(
             'ERROR'                => (sizeof($error)) ? implode('<br />', $error) : '',
             'USERNAME'            => $name,
             'VORNAME'           => $vorname,
Anschließend noch styles/prosilver/template/ucp_register.html öffnen und finden:

Code: Alles auswählen

<dl>
      <dt><label for="username">{L_USERNAME}:</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
      <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" title="{L_USERNAME}" /></dd>
</dl>
Ersetzen durch

Code: Alles auswählen

<dl>
      <dt><label for="vorname">Vorname:</label><br /><span>Gib hier deinen Vornamen ein</span></dt>
      <dd><input type="text" tabindex="1" name="vorname" id="vorname" size="25" value="{VORNAME}" class="inputbox autowidth" title="Vorname" /></dd>
</dl>
<dl>
      <dt><label for="username">Name:</label><br /><span>Gib hier deinen Nachnamen ein.</span></dt>
      <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" title="Name" /></dd>
</dl>
Anschließend cache leeren und ggf. Template aus den Dateien neu laden und dann Registrierung testen. Der Name wird nicht getrennt in der DB gespeichert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
the_zoker_09
Mitglied
Beiträge: 228
Registriert: 13.08.2011 14:39

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von the_zoker_09 »

Vielen vielen Dank.

Kleiner Fehler: ucp_register.php liegt nicht in /includes sondern /includes/ucp aber das ist egal ;)


Leider bekomme ich dieses Problem, wenn ich versuche mich in meinem Forum zu registrieren:

Code: Alles auswählen

SQL ERROR [ mysqli ]

Field 'last_post_text' doesn't have a default value [1364]
Woher kommt der Fehler?
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von Metzle »

Hallo,

schau mal hier: KB:no_default
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
Benutzeravatar
the_zoker_09
Mitglied
Beiträge: 228
Registriert: 13.08.2011 14:39

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von the_zoker_09 »

Den updater gibts leider nicht für phpBB 3.0.10

Viele der Tabellen sind von Mods verändert, macht das was?
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von BNa »

Da hast Du wohl nicht den Fix für die Mod Post Crash Protection eingespielt?! :wink:
http://www.phpbb.com/community/viewtopi ... #p13012757
Benutzeravatar
the_zoker_09
Mitglied
Beiträge: 228
Registriert: 13.08.2011 14:39

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von the_zoker_09 »

Ich weiss nichtmal, ob ich den in dem aktuellen Board drin habe...
Kommt der Fehler daher?
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Benutzername in Vorname + Nachname aufteilen

Beitrag von BNa »

Nein, ich antworte völlig ins Grüne hier :-?
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“