Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
tomorrowman

Error bei "Neue Naricht"-PopUp

Recommended Posts

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

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

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

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

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

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 by tomorrowman

Share this post


Link to post

$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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×