Session im eigenen Skript => Session zerstört
Verfasst: 19.05.2005 23:04
Hi,
man möge mir verzeihen, wenn dies (nach der Suche und Google) ja ein durchaus bekanntes Problem sein wird. Ein eigenes Skript soll das Usermangement des Forums mitverwenden. Die Daten von $userdata sind also vom Interesse. Im Netz und Eurer Knowledgebase geistert ein Code herum, den ich für einleichtend halte. Allerdings kann aus $userdata z.B. nicht der Benutzername des eingeloggten Nutzers ausgelesen werden. Geht man mit diesem Nutzer dann wieder ins Forum, stellt man fest, dass die aktuelle Session nicht mehr vorhanden ist. Der Nutzer ist ausgelogt. Habe eine Weile verzweifelt versucht alternative Codes zu finden, weil ich davon ausging, dass sich vielleicht etwas in den neuren Versionen von phpbb geändert hat und der "alte Weg" nicht mehr geht? Mehr zufällig habe ich das Skript deswegen in das gleiche Verzeichnis des Forums kopiert, den Pfad angepaßt und siehe da das Skript funktioniert, so wie man es erwarten würde.
Folgendendes Szenario:
In / liegt test.php,
das Forum liegt in /forum/
folgender Code wird von mir verwendet:
(Versteht sich von selbst, dass ich beim reinkopieren von test.php in /forum auch als phpbbroot ./ nehme).
Warum funktioniert dies scheinbar nicht in dem von mir gewünschten Szenario und warum geht die Session des Benutzers verloren. Hoffe, dass jemand eine Antwort hat und ich nicht vor lauter Blindheit bei den ganzen Anleitungen irgendwo etwas ganz entscheidendes übersehen habe.
Danke für Eure Hilfe.
Florian
man möge mir verzeihen, wenn dies (nach der Suche und Google) ja ein durchaus bekanntes Problem sein wird. Ein eigenes Skript soll das Usermangement des Forums mitverwenden. Die Daten von $userdata sind also vom Interesse. Im Netz und Eurer Knowledgebase geistert ein Code herum, den ich für einleichtend halte. Allerdings kann aus $userdata z.B. nicht der Benutzername des eingeloggten Nutzers ausgelesen werden. Geht man mit diesem Nutzer dann wieder ins Forum, stellt man fest, dass die aktuelle Session nicht mehr vorhanden ist. Der Nutzer ist ausgelogt. Habe eine Weile verzweifelt versucht alternative Codes zu finden, weil ich davon ausging, dass sich vielleicht etwas in den neuren Versionen von phpbb geändert hat und der "alte Weg" nicht mehr geht? Mehr zufällig habe ich das Skript deswegen in das gleiche Verzeichnis des Forums kopiert, den Pfad angepaßt und siehe da das Skript funktioniert, so wie man es erwarten würde.
Folgendendes Szenario:
In / liegt test.php,
das Forum liegt in /forum/
folgender Code wird von mir verwendet:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
if( $userdata['session_logged_in'] )
{
echo $userdata['username'];
}
?>Warum funktioniert dies scheinbar nicht in dem von mir gewünschten Szenario und warum geht die Session des Benutzers verloren. Hoffe, dass jemand eine Antwort hat und ich nicht vor lauter Blindheit bei den ganzen Anleitungen irgendwo etwas ganz entscheidendes übersehen habe.
Danke für Eure Hilfe.
Florian