Seite 1 von 1
Frontend-Benutzer-ID auslesen
Verfasst: Di 28. Jul 2009, 19:58
von Putzi
Hallo,
es tut mir echt leid, dass ich euch mit einer solchen Kleinigkeit belästige...
Die Suche im Forum und bei Google habe ich schon ausgenutzt, finde aber einfach nix passendes...
Ich mache gerade meine ersten Schritte in der Modul-Programmierung und suche nach dem Befehl, mit dem man die Benutzer-Id des aktuellen (eingeloggten) Frontend-Nutzers auslesen kann. Hab es schon mit "$user = $auth->auth[uid];" versucht und die Klasse "cInclude("classes", "class.frontend.users.php");" eingefügt, aber das funktioniert nicht...
Hat einer von euch genug Mitleid mit mir, um mir den Befehl zu sagen?

Re: Frontend-Benutzer-ID auslesen
Verfasst: Di 28. Jul 2009, 20:07
von idea-tec
Re: Frontend-Benutzer-ID auslesen
Verfasst: Di 28. Jul 2009, 20:34
von Putzi
Hallo Karsten,
danke dir, nur leider scheint bei mir noch irgendwo anders der Wurm drin zu sein: Der Befehl funktioniert nicht...

Muss ich um den Befehl nutzen zu können vorher noch irgendetwas initialisieren (z.B. $auth), oder ist da alles "automatisch" da?
Das Wiki ist an dieser Stelle leider auch nicht allzu aussagekräftig...
Re: Frontend-Benutzer-ID auslesen
Verfasst: Di 28. Jul 2009, 21:24
von idea-tec
Schau dir das Login-Modul des Beispielmandanten an. ich meine mich zu erinnern, dass da irgendwas mit der $auth drinne ist.
ansonsten: berechtigte frage von dir, aber meine glaskugel ist grade in urlaub

Re: Frontend-Benutzer-ID auslesen
Verfasst: Mi 29. Jul 2009, 07:26
von Dodger77
Verschoben, da eine Frage und nicht Tipp bzw. Trick.
Zum Thema: $auth muss nicht gesondert initialisiert sein. Evtl. geht es - zugegeben etwas umständlicher - über $auth->auth[uname]:
Code: Alles auswählen
cInclude('classes', 'class.frontend.users.php');
$frontendusers = new FrontendUserCollection;
$frontendusers->select("idclient = '$client' AND username = '".urlencode($auth->auth[uname])."'");
if ($frontenduser = $frontendusers->next()) {
$idfrontenduser = $frontenduser->get('idfrontenduser');
}
Re: Frontend-Benutzer-ID auslesen
Verfasst: Mi 29. Jul 2009, 08:30
von Putzi
Hallo und Danke ihr beiden!
Das Problem hat sich mittlerweile gelöst... Es scheint so, dass die UID ausgelesen werden muss, während der Nutzer das Formular angezeigt bekommt.
Ich hatte versucht den Nutzer in einer Funktion nach dem Abschicken des Formulars zusammen mit den Formulardaten in der DB zu speichern und da war die uid immer leer...
Funktioniert jetzt jedenfalls und nochmals vielen Dank für die Hilfe - so konnte ich wenigstens ausschließen, dass ich den falschen Befehl erwischt bzw. irgendwas vergessen hatte.

Re: Frontend-Benutzer-ID auslesen
Verfasst: Mi 29. Jul 2009, 14:01
von Oldperl
Hallo Putzi,
Putzi hat geschrieben:Ich hatte versucht den Nutzer in einer Funktion nach dem Abschicken des Formulars zusammen mit den Formulardaten in der DB zu speichern und da war die uid immer leer...
$auth ist global, und daher nicht automatisch in einer Funktion vorhanden. Entweder du übergibst $auth beim Aufruf der Funktion als Parameter, oder du machst $auth in der Funktion als globale Variable/Objekt bekannt.
Code: Alles auswählen
<?php
function meineFunktion() {
global $auth;
$UserId = $auth->auth['uid'];
....tue was sinnvolles...
}
Gruß aus Franken
Ortwin