Seite 1 von 2
Problem mit Datenbank-Verbindungen (werden einfach getrennt)
Verfasst: 01.05.2005 20:57
von tomorrowboy
Hi!
Leider habe ich nirgends eine Lösung für mein Problem gefunden, vielleicht kann mir aber jemand weiterhelfen!
Ich habe mich an folgendes Thema gehalten:
Wie integriere ich das Forum in meine Homepage?
http://www.phpbb.de/doku/kb/artikel.php?artikel=94
Mein Problem ist, dass bei bestimmten Aktionen im Forum einfach die Datenbank-Verbindungen beendet werden.
Dieses Problem ist ziehmlich lästig weil daduch mein komplettes Design nicht mehr funktioniert.
http://www.hondapower.at
-> es werden rechts oben die registrierten Benutzer und Beiträge angezeigt.
-> links im Menü werden die Benutzer die online sind angezeigt.
Das funktioniert auch, aber nur solange bis man z.B. folgende Aktion macht:
http://www.hondapower.at/search.php
irgendetwas völlig sinnloses eingeben um den Fall "Nichts gefunden" zu simulieren (z.B. "fgls6onvq37i64onmcd4aq3")
Dann kommt die Meldung "Keine Beiträge entsprechen deinen Kriterien.", nur das Menü und die Statistikdaten sind
verschwunden. Mein umgebauter Footer wird übrigends auch nicht mehr eingebunden!
Ich hoffe Ihr könnt mir helfen, ich bin schon kurz vom verzweifeln!
Lg Dom
Verfasst: 03.05.2005 14:40
von Eg4power
Hm kann da nimmand helfen ?
@Markus67 wie sieht es bei Dir aus du müsstest doch sowas wissen?
Verfasst: 03.05.2005 15:58
von itst
Stell bitte Deine overall_header.tpl und page_header.php als Text-Datei zur Verfüfung sowie die search.php
Verfasst: 04.05.2005 00:12
von tomorrowboy
Ich glaube das Problem liegt ganz wo anders... nicht im search.php..
diese Datei habe ich ja nichteinmal verändert... das sollte ja auch nur als
Beispiel dienen wo der Fehler eindeutig Auftritt...
Der Fehler Tritt ja auch beim Post und PM schreiben auf, wie auch leider bei vielen weiteren Aktionen...
soweit ich das ganze beobachtet habe gehen alle Datenbankverbindungen immer genau dann verloren wenn die Funktion
die() aufgerufen wird...
Meine persönlichen Datenbankabfragen werden ganz am Anfang von der index.php eingebunden:
index.php: (ganz oben)
Code: Alles auswählen
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
//
$FORUM=1;
$a=7;
include "D:/projects/aktuell/hondapower.at/index.php";
$viewcat = ( !empty($HTTP_GET_VARS[POST_CAT_URL]) ) ? $HTTP_GET_VARS[POST_CAT_URL] : -1;
dabei definiere ich die Variable $main_out, welche das Design für den Header enthält:
page_header.php
Code: Alles auswählen
header ('Expires: 0');
header ('Pragma: no-cache');
$template->set_filenames(array(
'empty_header' => 'empty_header.tpl')
);
global $main_out;
if (!$main_out) {
$FORUM=1;
$a=7;
include "D:/projects/aktuell/hondapower.at/index.php";
}
$template->assign_var('HONDAPOWER_HEADER', $main_out);
page_tail.php
Code: Alles auswählen
$template->assign_vars(array(
'PHPBB_VERSION' => '2' . $board_config['version'],
'TRANSLATION_INFO' => ( isset($lang['TRANSLATION_INFO']) ) ? $lang['TRANSLATION_INFO'] : '',
'ADMIN_LINK' => $admin_link)
);
global $footer_out;
$template->assign_var('HONDAPOWER_FOOTER', $footer_out);
$footer_out enthält meinen persönlichen Footer...
Es funktioniert grundsätzlich alles!
nur sobald man einen Post schreibt oder eben eine Aktion wo die die() Funktion verwendet wird, wird weder mein Menü, noch sonst irgendeine Datenbankabfrage durchgeführt... es sieht einfach so aus als ob die Datenbankverbindung garnicht möglich wäre...
Ich hoffe ich habe das Problem gut genug geschildert...
das sind auf jeden fall alle meine Änderungen...
Lg Dom
Verfasst: 04.05.2005 10:08
von itst
Das Einbinden Deines Headers sollte entweder über die page_header.php oder direkt in der overall_header.tpl geschehen. Normalerweise packt man die Logik und DB-Abfragen in die page_header.php, und weist den Daten dort Template-Variablen. In der overall_header.tpl steht das benötigte HTML-grundgerüst, in das die Daten eingefügt werden, um dann im Browser angezeigt zu werden.
Mir ist Deine Vorgehensweise nicht ganz klar.
Verfasst: 06.05.2005 01:35
von tomorrowboy
Habe jetzt auf die gewünschte Variante umgestellt....
page_header.php
Code: Alles auswählen
$FORUM=1;
$a=7;
include "D:/projects/aktuell/hondapower.at/index.php";
$template->assign_var('HONDAPOWER_HEADER', $main_out);
page_tail.php
Code: Alles auswählen
include "D:/projects/aktuell/hondapower.at/footer.php";
$template->assign_var('HONDAPOWER_FOOTER', $footer_out);
Eine simple Datenbankabfrage wie folgende ist nach dem aufrufen so einer die() Funktion nicht mehr möglich...
Code: Alles auswählen
$result = mysql_query("SELECT username FROM phpbb_chatbox_session");
Sobald z.B. beim versenden einer PM diese die() Funktion aufgerufen wird, wird die datei page_tail.php nicht mehr durchgeführt und alle meine persönlichen Datenbankabfragen werden auch nicht mehr durchgeführt, die page_header.php jedoch wird sehr wol eingebunden und durchlaufen...
Lg Dom
Verfasst: 08.05.2005 17:05
von Eg4power
@itst
Kannst du uns helfen weil wir möchten diesen Fehler echt gerne beheben?
Verfasst: 10.05.2005 19:52
von tomorrowboy
Ich persönlich finde eher das mein Problem zu dem Thema "Coding & Technik" gehört aber vielleicht kann mir ja hier jemand helfen?
Wäre super da ich mir nicht erklären kann warum dieser Fehler auftritt..
Danke im Voraus
Lg Dom
Verfasst: 10.05.2005 20:10
von itst
Das Problem ist die Art und Weise, wie Du Deine Seite in phpBB einbindest.
Nach einem message_die()-Aufruf kann keine DB-Abfrage mit der phpBB-Verbindung mehr funktonieren, weil message_die() diese schließt.
Stell mal in der common.php 'error_reporting(E_ALL);' ein, dann sollten wir zumindest mal eine Fehlermeldung bekommen, die uns unefäjr verrät, was genau denn überhaupt schiefgeht.
Verfasst: 10.05.2005 20:38
von tomorrowboy
da tut sich jetzt einiges...
was mache ich bei einer Variable mit so einer Fehlermeldung?
Code: Alles auswählen
Notice: Undefined variable: forum_path in /home/eg4power/hondapower.at/www_dev/new/index.php on line 92
Lg Dom