Session Management

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
MadMarian
Mitglied
Beiträge: 3
Registriert: 24.01.2006 15:14

Session Management

Beitrag von MadMarian »

Hallo,

ich habe ein selbst programmiertes Portal mit phpBB 2.0.19 und einer Coppermine Fotogalerie.
Hier die Pfade:

Portal: www.screamsilence.net
Forum: www.screamsilence.net/forum/
Galerie: www.screamsilence.net/gallery/index.php

Nun habe ich im Portal eine Loginbox gebaut, damit man sich auch dort einloggen kann, da demnächst einige Bereiche nur für Mitglieder eingebaut werden sollen.
Diese Loginbox ist in einer extra php Datei namens navigation.php, die jeweils per include geladen wird (so muss ich die Termine z.B. immer nur in einer Datei ändern).
Loggt man sich nun über die Loginbox ein, wird dort dann ein Begrüßungstext angezeigt und wenn man das Forum (unter Community) aufruft, ist man auch dort gleich eingeloggt. Soweit so gut.
Nun soll dies allerdings auch bei der Galerie funktionieren. Doch das tut es leider nicht und ich weiß nicht warum...

Im Portal sieht die navigation.php so aus:

Code: Alles auswählen

session_start();
define('IN_PHPBB', true);

$phpbb_root_path = 'forum/';
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'])
	$loginbox_header = "Hallo ".$userdata['username'];
else
	$loginbox_header = "Login";
Für die Galerie habe ich eine zweite navigation.php gebaut, die im Galerie Stammverzeichnis liegt und dort die Links etc. angepasst. Außerdem habe ich das Session Management so wie in der anderen navigation.php übernommen und lediglich den $phpbb_root_path geändert auf '../forum/'.

Doch leider funktioniert es nicht. Ich bekomme wenn ich die Galerie aufrufe folgenden Fehler:

Fatal error: Call to a member function on a non-object in /mnt/kw2/04/863/00000003/htdocs/net/forum/includes/sessions.php on line 134

In Zeile 134 steht:

Code: Alles auswählen

if (!($result = $db->sql_query($sql)))

Jemand ne Idee??????
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Das bedeutet soviel wie das Du eine Funktion einer (PHP in dem Moment) nicht bekannten Klasse (Non-Object) aufrufen willst.

Ergo: Die DBAL ist nicht included. Hast Du bei der Gallery auch am Anfang das include($phpbb_root_path . 'common.'.$phpEx); drin?

Gruß,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
MadMarian
Mitglied
Beiträge: 3
Registriert: 24.01.2006 15:14

Beitrag von MadMarian »

Hab ich. Habs jetzt so verändert, dass der Teil hier in der Gallery Software steht und auch als allererstes auf jeder Seite der Gallery ausgeführt wird.

Code: Alles auswählen

session_start();
define('IN_PHPBB', true);

$phpbb_root_path = '../forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata); 
und der Teil hier in der navigation.php

Code: Alles auswählen

if($userdata['session_logged_in'])
   $loginbox_header = "Hallo ".$userdata['username'];
else
   $loginbox_header = "Login"; 
Jetzt bekomme ich zwar keine Fehlermeldung mehr, aber die Loginbox "weiß nicht" dass ich schon eingeloggt bin. Sie zeigt nicht an, wenn jemand eingeloggt ist. Dass dies der Fall ist sieht man, wenn man auf eine Seite im Portal geht. Dort steht dann korrekterweise Hallo <username>. In der Gallery nicht.
Gibts denn noch ne andere Möglichkeit das Cookie auszulesen? Denn wenn ich eigentlich eingeloggt bin, sollten alle Infos doch da drin stehen oder?
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Dazu müsste man nun Dein Galleryscript sehen, aber das ist auch eigentlich keine phpBB-Frage mehr, denn um die "Userdatenbank" von phpBB zu nutzen reichen die Zeilen, die Du oben eingebaut hast. Alles was danach kommt, ist Dein Ding.

Gruß,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
MadMarian
Mitglied
Beiträge: 3
Registriert: 24.01.2006 15:14

Beitrag von MadMarian »

Bei der Gallery kann man ne sog. Bridge zu phpBB einschalten. Das funktioniert auch. Heißt ich bin auch in der Gallery eingeloggt und die Userverwaltung von phpBB wird verwendet. Nur eben diese *#&% Loginbox funzt da nicht. :evil: :grin:

Aber dann weiß ich, dass ich phpBB-seitig schon mal alles richtig gemacht hab. Vielen Dank für die schnelle Hilfe!!! Ich versuch dann mal im Gallery Support Board Hilfe zu bekommen. :D

Ciao,
Mad
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“