Seite 2 von 3

ähnliches Problem

Verfasst: 18.05.2007 07:03
von TheCrow666
Ich möchte das Board ebenfalls in meine bestehende Seite einfügen und habe das auch schon geschafft, es gibt nur noch ein paar kleinigkeiten an den ich hängen bleib.

1. Wenn ich einen neuen Thread anlegen möchte, kommt folgende Fehlermeldung:

Notice: Undefined variable: db in /webseite/posting.php on line 226

Fatal error: Call to a member function sql_query() on a non-object in /webseite/posting.php on line 226

Weiß jemand wie und wo die Variable $db definiert wird?

2. Auf meiner Seite gibt es eine linke und eine rechte Tabelle, in der Mitte erscheint der Content, aber wenn das Forum angezeigt wird erscheint nach dem Content nichts mehr (weder die rechte Tabelle noch der Footer). Ich denke, daß die Lösung des Problems in einer Template Datei oder in der index/page_tail Datei zu finden ist - durch irgendetwas wird wohl der Code danach nicht mehr ausgeführt - habe aber noch nichts gefunden.


Hoffe mir kann jemand helfen oder einen Tipp geben, ich weiß nämlich nicht mehr weiter und die Zeit drängt...

Verfasst: 18.05.2007 15:20
von gn#36
Zu 1: schau mal in die common.php Datei.
Zu 2: schau mal in die page_tail.php und suche nach "exit". Du solltest nach Möglichkeit deinen Content der "nach" dem Forum ausgegeben werden soll in diese Datei einbauen da ein fehlendes Exit an dieser Stelle u.u. den Ablauf des Forums stören könnte (-> Es wird zu viel Code ausgeführt da eigentlich unterbrochen werden sollte, aber nicht wird).

Verfasst: 28.05.2007 16:43
von ThoRr
Sorry für die so späte Antwort.
Die Tabelle stats mit der Spalte ist sessions ist eine eigene Tabelle. Ich wollte das Login nun in das Page-Login umbauen. Dazu hab ich allerdings eine wichtige Frage: Wie kann ich die Session aus meinem Board auf meine Seite übetragen? Wenn man auf meiner Seite eingeloggt ist, wird geprüft, ob die Varaible $_SESSION['id'] einen Wert enthält und dann die Variable $logged_on auf 1 gesetzt.
Kann ich auch durch mein eigenes Login eine phpBB2-Session erstellen? (Wäre einfacher, da ich dann das phpBB2-Login nicht auch noch in meine Seite integrieren müsste)
Ich hoffe, ihr könnt mir noch einmal helfen.

Verfasst: 28.05.2007 23:11
von gn#36
Deinen ersten Satz verstehe ich inhaltlich irgendwie nicht ganz...
Hast du diesen Artikel schon gesehen: KB:72

In dem Artikel ist beschrieben, wie das Session Management in einer eigenen Seite eingebaut werden kann. Dann müsstest du danach eigentlich nur noch deinen eigenen Login auf den des Forums weiterleiten. Mit einem Redirect kannst du das auch ganz komfortabel nach dem Login wieder zurückleiten, so dass sich bei der Verwendung der Seite vermutlich nicht viel ändert (außer dass beide Logins zusammengelegt wurden). Damit du nicht alles andere auch umbauen musst könntest du dann ja anhand des Loginstatus im phpBB deine eigenen Daten setzen.

Verfasst: 29.05.2007 10:38
von ThoRr
Vielen Dank! Das Login scheint zu funzen, allerdings zu gut. Bei mir erscheint auf meiner Seite die Meldung "Hacking attempt". Im Forum (/board/) allerdings nicht. Mein Code sieht folgendermaßen aus:

Code: Alles auswählen

	$phpbb_root_path = './board/';
	include($phpbb_root_path . 'extension.inc');
	include($phpbb_root_path . 'common.' . $phpEx); 
	
	$userdata = session_pagestart($user_ip, PAGE_INDEX);
	init_userprefs($userdata);
Hab ich da was falsch gemacht?

Verfasst: 29.05.2007 12:16
von gn#36
Schlecht ist das schon mal nicht, allerdings hast du was vergessen:

Code: Alles auswählen

define('IN_PHPBB',true);
muss vor den includes stehen, sonst gibt's den Hacking Attempt.

Verfasst: 29.05.2007 15:42
von ThoRr
Ah, jetzt funktionierts. Vielen Dank! Ich möchte allerdings mit meinem eigenen Login eine phpBB-artige Session erstellen, die sonst durch das phpBB-Login erstellt wird. Wie sieht diese phpBB-Session aus, damit ich sie selbst erstelln kann?

Verfasst: 29.05.2007 15:54
von gn#36
Das ist nicht ganz so einfach, dazu solltest du dir die sessions.php Datei genauer ansehen und die login.php (vor allem aber die sessions.php).
Zu der phpbb Session gehören ja immer mindestens 2 Teile, zum einen wäre das der Datenbankeintrag in der sessions Tabelle, zum anderen der Cookie beim User auf dem PC. Oder du arbeitest mit der an die URL gehängten session ID. Das wäre insofern einfacher, als dass das was du anhängen musst auch in die Datenbank eingetragen werden muss, während du beim Cookie noch ein paar andere Änderungen machen musst. Ein Blick in die Sessions Tabelle der Datenbank reicht hierfür vielleicht bereits aus.

Wenn du aber die Logindaten einfach an die login.php sendest und eine redirect Variable setzt sollte sich das ganze viel einfacher gestalten.

Verfasst: 29.05.2007 16:12
von ThoRr
okay, dann mache ich es per login.php. Ich melde mich dann wieder, wenn ich ein Ergebnis (oder auch nicht) hab. Aber ich hoffe mal dass es klappt, wenn das mit dem Auslesen der Session auch schon so gut geklappt hat.

Verfasst: 29.05.2007 17:14
von ThoRr
Bei mir erscheint die Meldung "Invalid_session" wenn ich auf append_sid('board/login.php?logout=true') verweise. Falls es wichtig ist: Die Funktion nimmt an der URL keine Änderung vor, es wird keine SID mitgesendet, kann das evtl. daranliegen? Ich kann momentan nähmlich nicht mein Login ausprobiern, da ich nicht ausgeloggt bin.