Seite 1 von 2

Userdaten ändern

Verfasst: 03.08.2011 17:52
von baserider
Hi,

gibt es in phpbb eine Funktion die den User updatet? Es gibt ja auch user_add() zum Anlegen eines neuen Users. Sowas wie user_update() oder user_edit() konnte ich leider nicht finden

Re: Userdaten ändern

Verfasst: 03.08.2011 17:57
von zx9r-treiber
Du kannst doch restlos alle Daten eines Users per ACP ändern. Wofür wolltest du denn ein "User-Update" benutzen ?

Auch wäre es schön zu wissen welche phpBB3 Version du benutzt und welche MODE du verbaut hast. Ein Link zu deiner Seite wäre auch nicht schlecht. :D

Re: Userdaten ändern

Verfasst: 03.08.2011 18:07
von baserider
ich benutze phpbb 3.0.9 und mods habe ich Ultimate SEO Url eingebaut, sonst nichts.
Ich brauche es, da ich über ein externes Skript daten ändern will. Auf meiner Seite gibt es ein Login, welches für Forum un Seite gültig ist, damit man sich nicht 2 mal irgendwo anmelden muss. Leider habe ich Username und Passwort immer in 2 Tabellen (eine bessere Lösung ist mir nicht eingefallen um beides zu verbinden). Wenn jemand die Passwort vergessen Funktion benutzt, dann muss natürlich das Passwort auch in phpbb geändert werden.

Re: Userdaten ändern

Verfasst: 03.08.2011 19:30
von Pyramide
baserider hat geschrieben:Leider habe ich Username und Passwort immer in 2 Tabellen (eine bessere Lösung ist mir nicht eingefallen um beides zu verbinden).
In der Forum-FAQ werden zwei Möglichkeiten beschrieben.

Re: Userdaten ändern

Verfasst: 03.08.2011 19:56
von baserider
Hi,

danke für den Hinweis.
Für mich wäre ja die 2. Möglichkeit deines Links interessant. Ich verstehe nur nicht so richtig, was dann in die jeweiligen Methoden reinkommt. Muss ich dort meine eigene Authentifizierung nochmals unterbringen?

Re: Userdaten ändern

Verfasst: 03.08.2011 21:05
von Pyramide
Vereinfacht gesagt fragt dich das phpBB
  • "Ein unbekannter Benutzer betritt das Forum, soll ich ihn automatisch anmelden?" (autologin_method)
  • "Darf sich jemand mit dem Benutzernamen x und Passwort y anmelden?" (login_method)
  • "Darf Benutzer x weiterhin angemeldet sein oder wurde sein Account inzwischen gelöscht?" (validate_session_method)
  • "Der Benutzer hat sich im Forum ausgelogt, was soll nun geschehen?" (logout_method)
Die genauen Parameter und Rückgabewerte kannst du im Wiki nachlesen.

Re: Userdaten ändern

Verfasst: 03.08.2011 21:18
von baserider
Hi,

aber ich muss ja nun gegen meine Datenbank prüfen in der login_methode(), also muss ich irgendwie meine gesamte Authentifizierung dort ablaufen lassen oder?
Wird dann beim schreiben eines Beitrages in der Posts-Tabelle als user_id immer die Id aus meiner Datenbank genommen?

Re: Userdaten ändern

Verfasst: 03.08.2011 21:29
von Pyramide
baserider hat geschrieben:aber ich muss ja nun gegen meine Datenbank prüfen in der login_methode(), also muss ich irgendwie meine gesamte Authentifizierung dort ablaufen lassen oder?
Du musst halt das einbauen, was erforderlich ist, um die oben genannten Fragen zu beantworten. Was genau das ist, kannst nur du wissen.
baserider hat geschrieben:Wird dann beim schreiben eines Beitrages in der Posts-Tabelle als user_id immer die Id aus meiner Datenbank genommen?
Die Benutzer benötigen in jedem Fall einen Eintrag in der phpbb_users Tabelle, da ja das ganze phpBB darauf basiert. Diesen legt phpBB bei entsprechendem Rückgabewert aber automatisch an (siehe Wiki).

Re: Userdaten ändern

Verfasst: 03.08.2011 21:42
von baserider
Pyramide hat geschrieben: Die Benutzer benötigen in jedem Fall einen Eintrag in der phpbb_users Tabelle, da ja das ganze phpBB darauf basiert. Diesen legt phpBB bei entsprechendem Rückgabewert aber automatisch an (siehe Wiki).
ok, dann ist es aber im Prinzip wieder so, das die Daten in 2 Tabellen vorliegen.

Re: Userdaten ändern

Verfasst: 03.08.2011 22:32
von Pyramide
baserider hat geschrieben:ok, dann ist es aber im Prinzip wieder so, das die Daten in 2 Tabellen vorliegen.
Mit dem Unterschied, dass phpBB sich dann automatisch darum kümmert, dass der Datensatz in der phpbb_users aktuell ist bzw. halt beim Passwort gar nicht damit vergleicht, sondern deine Prüffunktion aufruft.

Wenn du den Benutzerdatensatz nur in einer Tabelle haben willst, musst du die erste Variante nehmen.