Hej!
(Ich hoffe, diese Frage ist hier am richtigen Platz, sonst bitte verschieben!)
Ich habe eine Site mit dem CMS Typo3 erstellt und dort ein phpBB installiert. Nun möchte ich auf die Startseite ein LogIn-Feld für das Forum einbauen bzw. den Benutzer mit seinem Namen ansprechen, falls er bereits eingeloggt ist. Das habe ich schonmal woanders gemacht, aber noch nie in Typo3.
Wenn ich diesen Code nun als PHP-Inhaltselement einfüge, bekomme ich jedesmal vom phpBB die Fehlermeldung "Fatal error: Call to a member function on a non-object in /html/phpBB2/includes/sessions.php on line 66". Ich habe in meiner Verzweiflung auch statt meinem eigenen Code den aus der login.php und aus dem MOD phpBBFetchAll versucht, bekomme aber immer den gleichen Fehler. Irgendwie fühlt sich der phpBB-Code in einem PHP-Inhaltselement nicht recht wohl. Der Fehler tritt anscheinend auf, sobald diese Zeile erreicht wird:
$userdata = session_pagestart($user_ip, PAGE_INDEX);
Für die, die Typo3 nicht kennen: Der PHP-Code wird in diesen Inhaltselementen anscheinend mit eval() ausgeführt.
Hat das hier schonmal jemand gemacht und kann mir einen Tipp geben, wie ich das hinbekomme?
-- snorri
[EDIT: Nur sicherheitshalber: Ich verwende das echte phpBB, nicht die gleichnamige Typo3-Extension!]
phpBB LogIn auf Typo3-Startseite
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Jaja, schon, nur sieht mein Code bereits genauso aus. Selbst wenn ich nur den in Deinem Link empfohlenen nackten Rahmen-Code einbinde, bekomme ich diese Fehlermeldung:
Dazu muss ich noch nicht einmal etwas Weiteres programmieren. Anscheinend fehlt der Funktion session_pagestart() irgendetwas, um fehlerfrei abzulaufen.
-- snorri
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
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);
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = 'Meine Seite';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
/***** Inhaltsbereich ******/
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
-- snorri
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Welche Fehlermeldung? Wenn dubenutzt und das Aktionsziel anpasst, funktioniert es garantiert. Das hat auch nichts mit der Vorlage für in phpBB eingebundene Seiten zu tun
Code: Alles auswählen
<form action="login.php" method="post">
Benutzername: <input type="text" name="username"><br>
Passwort: <input type="password" name="password"><br>
Autologin? <input type="checkbox" name="autologin"><br>
<input type="hidden" name="redirect" value="meine_homepage.php">
<input type="submit" name="login" value="Login">
</form>
Hej,
ich habe noch eine Weile rumprobiert und das Problem vielleicht ein wenig eingegrenzt ... aber nur ein wenig:
Die Codezeilen, die Fehlermeldungen produzieren, wenn ich den oben von Leuchte verlinkten "phpBB-Rahmen-Code" als PHP-Inhaltselement in Typo3 verwende, sehen so aus:
Und die Fehlermeldung besagt ja, dass ich dabei etwas als Objekt zu behandeln versuche, das gar kein Objekt ist. Das klingt doch stark danach, dass PHP in diesem Umfeld die Objekte $db und $template gar nicht kennt!
Aber warum nur? Muss ich die noch gesondert als global definieren, obwohl ich in gar keiner Funktion bin, dafür aber in einem von eval() ausgewerteten Code?
-- snorri
ich habe noch eine Weile rumprobiert und das Problem vielleicht ein wenig eingegrenzt ... aber nur ein wenig:
Die Codezeilen, die Fehlermeldungen produzieren, wenn ich den oben von Leuchte verlinkten "phpBB-Rahmen-Code" als PHP-Inhaltselement in Typo3 verwende, sehen so aus:
Code: Alles auswählen
$template->set_filenames(... (aus includes/page_header.php oder page_footer.php)
$db->sql_query(... (aus sessions.php)

-- snorri
-
- Mitglied
- Beiträge: 6
- Registriert: 08.03.2006 13:08
typo3 login mit phpbb
hi @all
ich habe ähnliches vor...
mein phpbb ist nun genug aufgemoddet, dass es in mein neues typo3 projekt reinpassen soll.
allerdings auch über iene typo3 logIn seite direkt in einen geschützten bereich, wo es auch das forum gibt.
also übergabe username&passwort von phpbb an typo3...
habt ihr das problem mittlerweile gelöst?
die neue typo3.org seite ist ja sehr schlecht geworden und man findet wenig input dazu...
hoffe ich höre ovn euch...
caretaker
ich habe ähnliches vor...
mein phpbb ist nun genug aufgemoddet, dass es in mein neues typo3 projekt reinpassen soll.
allerdings auch über iene typo3 logIn seite direkt in einen geschützten bereich, wo es auch das forum gibt.
also übergabe username&passwort von phpbb an typo3...
habt ihr das problem mittlerweile gelöst?
die neue typo3.org seite ist ja sehr schlecht geworden und man findet wenig input dazu...
hoffe ich höre ovn euch...
caretaker