Autor
|
Thread
|
26.02.2008 18:25 Uhr
|
Überprüfen ob User eingeloggt
|
gelöschter User
|
|
|
registriert
|
|
wohnt in
|
|
Beiträge
|
0
|
|
Hallo,
ich hab mir das Loginscript mit dem Cookie-Check jetzt schon einige Male angesehen, aber ich komm nicht drauf und zwar wie ich überprüfen kann, ob der jeweilige User eingeloggt oder ausgeloggt ist.
Muss das mittels Cookies geschehen?
Gruß Timo
|
|
|
29.02.2008 10:20 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Hallo Timo!
Was genau meinst du mit Cookie-Check? Im Tutorial werden 2 Cookies verwendet:
1. Das Cookie zum Speichern der Session, dieses wird automatisch gesetzt und von usn auch nicht näher betrachtet.
2. Das Cookie zum permanenten Login. Dieses Cookie überprüft, ob ein Benutzer die Option "eingeloggt bleiben" aktiviert hat. Sollte nämlich das Session-Cookie ablaufen, hätten wir keine Informationen mehr bezüglich das Login-Status' des Users.
Willst du jedoch nur prüfen, ob ein User eingeloggt ist, so musst du einfach die Variable
$_SESSION['UserID'] überprüfen. Diese Variable wird beim Einloggen durch die Funktion doLogin() gesetzt und existiert demnach nur für eingeloggte Benutzer.
Also:
if(isset($_SESSION['UserID']))
> Benutzer ist eingeloggt
else
> Benutzer ist nicht eingeloggt
Gruß
Flitze
|
|
|
01.03.2008 00:29 Uhr
|
|
gelöschter User
|
|
|
registriert
|
|
wohnt in
|
|
Beiträge
|
0
|
|
Danke, genau das habe ich gemeint:
Code:
if(isset($_SESSION['UserID']))
> Benutzer ist eingeloggt
else
> Benutzer ist nicht eingeloggt
Ich habe jetzt aber ein neues Problem und zwar, wird mir die Funktion doLogin als undefiniert angegeben.
Der Code findet sich in diesem Abschnitt des Workshops im Auto-Logout-Teil:
http://www.mywebsolution.de/workshops/2/page_3/show_Usermanagment.html
Code:
// Prüfen, ob ein Autologin des Users stattfinden muss
if(isset($_COOKIE['Autologin']) AND !isset($_SESSION['UserID'])){
$sql = "SELECT
ID
FROM
User
WHERE
Autologin = '".mysql_real_escape_string($_COOKIE['Autologin'])."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
$row = mysql_fetch_assoc($result);
if(mysql_num_rows($result) == 1)
doLogin($row['ID'], '1');
}
Die in der vorletzten Zeile stehende Funktion doLogin wird mir also als undefined deklariert.
Eigentlich verständlich, da sie ja nirgendwo zuvor definiert wurde.
Wie kann ich dieses Problem denn jetzt lösen - Include der Datei, in der die Funktion definiert wird, oder???
Gruß Timo
Dieser Beitrag wurde am 01.03.2008 um 00:44:43 Uhr von Timo zum 5. Mal editiert.
|
|
|
01.03.2008 01:32 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Zitat: Die in der vorletzten Zeile stehende Funktion doLogin wird mir also als undefined deklariert.
Eigentlich verständlich, da sie ja nirgendwo zuvor definiert wurde.
Wie kann ich dieses Problem denn jetzt lösen - Include der Datei, in der die Funktion definiert wird, oder???
Ähm.. ja.. aber warum probierstes nich einfach aus^^
|
|
|