tomorrowman 0 Report post Posted January 8, 2004 Hallo, ist bei einem Mitglied die Option "'Pop up' Benachrichtigung (Öffnung eines separaten Fensters) beim Eintreffen einer persönlichen Nachricht" in den Grundeinstellungen aktiviert und dieses Mitglied erhält dann eine Nachricht, so bekommt dieses Mitglied immer eine SQL-Fehlermeldung beim Betreten des Forums. mySQL query error: UPDATE ibf_members SET show_popup=0 WHERE id=1 mySQL error: Table 'usr_web4_1.ibf_members' doesn't exist mySQL error code: Date: Thursday 08th of January 2004 06:47:04 AM Die Tabelle usr_web4_1.ibf_members gibt es so wirklich nicht. Eigentlich müsste es usr_web4_3.ibf_members heißen, denn die MySQL-Datenbank für das Forum heißt usr_web4_3. Leider hat das Mitglied erst wieder Zugriff auf das Forum, wenn ich per phpMyAdmin in der Tabelle ibf_members die Felder view_pop und show_popup auf 0 setze. Kann mir jemand sagen, in welcher Datei oder Tabelle ich den fehlerhaftem Eintrag usr_web4_1.ibf_members ändern kann? Share this post Link to post
Stefan 0 Report post Posted January 8, 2004 Das ist ein sehr eigenartiger Fehler, da normalerweise die Datenbank normalerweise in der conf_global.php festgelegt ist und die MySQL Klasse auch dann nur mit dieser arbeitet. War vielleicht das Forum jemals in der Datenbank usr_web4_1? Hast du vielleicht Mods eingebaut, die eine eigene Verbindung zur DB aufbauen? Am einfachsten wäre es, dir den Sourcecode mal herunterzuladen und dann nach dem Datenbanknamen zu suchen. Share this post Link to post
tomorrowman 0 Report post Posted January 9, 2004 Hallo Stefan, die Forumdatenbank war nie unter usr_web4_1 installiert .... Die einzigen MODs die ich eingebaut habe sind diese hier: ACP Prune Member Full Control Manage Emoticons Member Info memory Mod Was meinst Du genau mit Am einfachsten wäre es, dir den Sourcecode mal herunterzuladen und dann nach dem Datenbanknamen zu suchen. Share this post Link to post
Stefan 0 Report post Posted January 9, 2004 Was ich damit meinte, war nur, das du mittels Textsuche innerhalb des Quelltextes mal nach dem Datenbanknamen suchst. Naja, aber um den Fehler einzukreisen. Tritt dieser nur bei dem einen Mitglied auf oder generell, wenn man Popups einschaltet? Wenn es nur bei dem einen User auftritt, schau dir mal seine Werte in der ibf_members an und vergelich sie mit anderen. Share this post Link to post
tomorrowman 0 Report post Posted January 9, 2004 Das Problem tritt leider bei allen Members auf die diese Option aktiviert haben. Hast Du eine Idee in welcher Datei/en ich suchen sollte? Share this post Link to post
Stefan 0 Report post Posted January 9, 2004 Also die entsprechende Zeilen, die das Update-Statement ausführen, findest du in der functions.php: if ($ibforums->member['show_popup']) { $DB->query("UPDATE ibf_members SET show_popup=0 WHERE id={$ibforums->member['id']}"); if ( $ibforums->input['act'] != 'Msg' ) { $pm_js = $skin_universal->PM_popup(); } } Sicher mal deine functions.php und lade mal eine originale Datei hoch, vielleicht hast du irgendwo einen Fehler in der Datei. Share this post Link to post
tomorrowman 0 Report post Posted January 9, 2004 (edited) Die originale functions.php kann ich leider nicht hochladen, da ich das Portal von RIGO (http://www.ipbsupport.de/board/index.php?showtopic=276) installiert und in der functions.php Änderungen vorgenommen habe. Diese Änderungen sind korrekt eingebaut. Vielleicht liegt da der Hase begraben? So wie es aussieht wird die Variable $ibforums falsch gefüllt. Gibt es eine Möglichkeit dies zu überprüfen (mittels debugging oder ähnlichem)? Edited January 9, 2004 by tomorrowman Share this post Link to post
Stefan 0 Report post Posted January 9, 2004 $ibforums ist eine Instanz einer Klasse, sprich ein Objekt und keine Variable. Du kannst aber mit einem echo Befehl dir eigentlich die gewünschten Variablen anzeigen lassen. Beispiel: echo "Debug: ". $ibforums->member['show_popup']; Sollte dann am oberen Rand erscheinen. Kannst du denn eingrenzen, wann dieser Fehler angefangen hat aufzutreten? Ich würde dennoch mal die originale functions.php hochladen und das Portal solange abschalten. So kannst du den Fehler wenigstens einkreisen. Share this post Link to post
tomorrowman 0 Report post Posted January 9, 2004 Sorry, habe leider keine Ahnung von PHP Na dann werde ich mich mal auf die weitere Suche begeben .... Share this post Link to post
Stefan 0 Report post Posted January 9, 2004 Okay, probier mal folgendes aus. Suche in der index.php folgende Stelle: $DB->connect(); darunter fügst du ein: echo "1. DB: ".$DB->obj['sql_database']."<br />"; In der functions.php oberhalb von if ($ibforums->member['show_popup']) { $DB->query("UPDATE ibf_members SET show_popup=0 WHERE id={$ibforums->member['id']}"); if ( $ibforums->input['act'] != 'Msg' ) { $pm_js = $skin_universal->PM_popup(); } } dann noch folgendes: echo "2. DB: ".$DB->obj['sql_database']."<br />"; Wenn alles richtig funktioniert, solltest du überhalb des Forums folgende Ausgabe haben: 1. DB: usr_web4_3 2. DB: usr_web4_3 Share this post Link to post