Seite 1 von 1

Logout extern ?

Verfasst: 24.04.2008 13:17
von mafis90
Hi, nachdem ich das mit einem exterenen Login hinbekommen habe. Frage ich mich nun, wie ich das mit dem Logout machen kann, also ich will auf einer Seite, die nicht zum Forum gehört ausloggen und dann auf eine bestimmte Seite weitergeleitet werden. Beim Ausloggen muss man irgendwas mit der SID machen ???

Hoffe ihr könnt helfen

mafis90

Verfasst: 25.04.2008 16:34
von mafis90
Habe diesen Code gefunden, aber der funktioniert nicht, kann mir jemand sagen warum ?

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 

$phpbb_root_path = '/phpBB3/'; // <-- 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 

if ( !$userdata['session_logged_in'] ) 
{ 
echo "du bist nicht eingeloggt!"; 
} 
else 
{ 
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id']&redirect=memberlist.php; 
echo "hurra ein eingeloggter Benutzer mit $userdata[user_posts] Beiträgen <br> Wenn du willst kannst du dich <a href=\"$u_login_logout\">hier ausloggen</a> und wirst dann direkt auf die memberlist.php weitergeleitet."; 
} 
?>

Verfasst: 25.04.2008 21:56
von gn#36
phpBB Version? Bei 3 geht das anders.

Verfasst: 25.04.2008 22:37
von mafis90
Und wie geht das in 3 ?

Das ist die einzige Sache die nicht geht.

mafis90

Verfasst: 26.04.2008 09:00
von Dr.Death
Die Lösung ist :

Code: Alles auswählen

$user->session_kill();
Damit das aber funktioniert, muss der "logout Link", den der User anklickt, auch die momentane Session ID des betroffenen Users beinhalten.

So ein Link kann z.B. so aufgebaut werden:

Code: Alles auswählen

echo 'Zum Abmelden <a href="'. append_sid("{$phpbb_root_path}login.$phpEx", "mode=logout") . '">hier</a> klicken';
Die aktuelle Session ID wird durch die Funktion
append_sid()
angehangen.

Ein komplettes Login / Logout Demoscript kann z.B. so aussehen:

Externer Login / Logout für phpBB3