Seite 1 von 1

externer Logout

Verfasst: 07.09.2007 22:09
von The Scientist
Hallo
ich weiß, dass es dazu schon einige themen gibt, aber bei keinem dieser habe ich eine Lösung gefunden.
Ich möchte auf meiner Homepage die Session Daten des Forums nutzen und habe den Loginbereich wie in einem tutorial beschrieben eingefügt.
Da ich aber nicht den header des Forums benutze habe ich für angemeldete benutzer nicht die Option sich auszuloggen.

In folgendem Code habe ich es über ein hidden field versucht aber ich weiß nicht wie ich die session-daten löschen beziehungsweise ungültig machen kann. falls man auf einen link klickt ist man auf der nächsten seite wiesder eingeloggt.

Code: Alles auswählen

<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//für LogOut Button
if ($_POST['ausloggen'] == 1){
$userdata = array();
$_SESSION = array();
?>
<html><head>
<title></title>
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="shortcut icon" href="favicon.ico" />
</head>


<body>
<div id="top">
TOP
</div>

<div id="navi">
<p>&nbsp;</p>
<?
	if ( $userdata['session_logged_in'] )
	{
	echo "Hello ".$userdata['username']."!";
?>
	<br>Not You??:
	<form action="index.php" method="post">
	<input type="hidden" name="ausloggen" value="1">
	<input type="submit" name="login" value="LogOut">
	</form>
<? 	}
	else
	{// Code, wenn kein Benutzer angemeldet ist
	?>
	<form action="forum/login.php" method="post">
	Nickname: <input type="text" name="username"><br><br>
	Password: <input type="password" name="password"><br><br>
	Autologin? <input type="checkbox" name="autologin"><br>
	<input type="hidden" name="redirect" value="../index.php">
	<input type="submit" name="login" value="Login">
	</form>
         <a href="forum/profile.php?mode=register" title="register">register</a><br>
	<?
	}

?>
Hat jemand Hilfe parat??

Verfasst: 07.09.2007 23:33
von cYbercOsmOnauT
Hi auch,

das hier session_end sollte Dir helfen. :)

Viele Grüße,
Tekin

Verfasst: 08.09.2007 01:13
von The Scientist
ich kann doch aber nicht die funktion in eine völlig andre seite einfügen oder gilt die 'global' ?

Verfasst: 08.09.2007 01:25
von cYbercOsmOnauT
Wenn Du session_pagestart verwendest (welches sich auch in der sessions.php befindet), warum solltest Du dann session_end nicht verwenden können?

Verfasst: 08.09.2007 17:20
von The Scientist

Code: Alles auswählen

Warning: Missing argument 1 for session_end(), called in D:\Programme\xampp\htdocs\indie\index.php on line 17 and defined in D:\Programme\xampp\htdocs\indie\forum\includes\sessions.php on line 401

Warning: Missing argument 2 for session_end(), called in D:\Programme\xampp\htdocs\indie\index.php on line 17 and defined in D:\Programme\xampp\htdocs\indie\forum\includes\sessions.php on line 401
phpBB : Critical Error

Error removing user session

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

DELETE FROM phpbb_sessions WHERE session_id = '' AND session_user_id =

Line : 426
File : sessions.php
Dies ist die Fehlermeldung, die ich bekomme wenn ich nur session_end(); ausführe. Ich schätze mal die Parameter müssen in die Klammer aber welche??


Hat sich erledigt waren natürlich $user_id und session_id, wie es auch in der sessions php steht.
Danke für den Tip !
:P

Verfasst: 19.09.2007 19:16
von jesaa
Preisfrage: Wie komm ich an $user_id oder session_id?ich hab die Seite, in der ich das Logout verwende ein Verzeichnis über dem vom phpbb.

OK dumme fragen ^^
Die sind natürlich im array userdata, also $userdata['session_id'] und $userdata['user_id']