phpBB LogIn auf Typo3-Startseite

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Antworten
snorri
Mitglied
Beiträge: 79
Registriert: 18.01.2005 10:57
Wohnort: Regensburg
Kontaktdaten:

phpBB LogIn auf Typo3-Startseite

Beitrag von snorri »

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!]
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

KB:phpbb_login
snorri
Mitglied
Beiträge: 79
Registriert: 18.01.2005 10:57
Wohnort: Regensburg
Kontaktdaten:

Beitrag von snorri »

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:

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);
?>
Dazu muss ich noch nicht einmal etwas Weiteres programmieren. Anscheinend fehlt der Funktion session_pagestart() irgendetwas, um fehlerfrei abzulaufen.

-- snorri
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Welche Fehlermeldung? Wenn du

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>
benutzt und das Aktionsziel anpasst, funktioniert es garantiert. Das hat auch nichts mit der Vorlage für in phpBB eingebundene Seiten zu tun
snorri
Mitglied
Beiträge: 79
Registriert: 18.01.2005 10:57
Wohnort: Regensburg
Kontaktdaten:

Beitrag von snorri »

Hej Leuchte!

Klar, ein HTML-Formular kann ich immer einbauen. Aber nicht vorher abprüfen, ob der betreffende User bereits eingeloggt ist, denn in diesem Fall will ich ihm natürlich kein LogIn-Feld anbieten, sondern eine Begrüßung und Links auf sein Profil, seine PM usw..

-- snorri
snorri
Mitglied
Beiträge: 79
Registriert: 18.01.2005 10:57
Wohnort: Regensburg
Kontaktdaten:

Beitrag von snorri »

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:

Code: Alles auswählen

$template->set_filenames(... (aus includes/page_header.php oder page_footer.php)

$db->sql_query(... (aus sessions.php)
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! :o 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
caretaker-gfn
Mitglied
Beiträge: 6
Registriert: 08.03.2006 13:08

typo3 login mit phpbb

Beitrag von caretaker-gfn »

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
Antworten

Zurück zu „phpBB 2.0: Mod Support“