Seite 1 von 1

Der chCounter und ein ziemlich interessantes Problem

Verfasst: 21.08.2004 17:01
von Doc Lecter
HI! Ich habe letztens den chCounter in 2 meiner Boards eingebaut. Läuft auch alles super.
Jetzt wollte ich aber heute ein drittes Board damit ausstatten und nun bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Allgemeiner Fehler 

Could not obtain topics information

DEBUG MODE

SQL Error : 1146 Table 'kingdomofmadness_de.phpbb2_topics' doesn't exist

SELECT t.*, p.poster_id, p.post_username, p.enable_bbcode, p.enable_html, p.enable_smilies, u.username, pt.post_text, pt.bbcode_uid, lp.poster_id AS lp_poster_id, lu.username AS lp_username, lp.post_username AS lp_post_username, lp.post_time AS lp_post_time FROM phpbb2_topics AS t, phpbb2_posts AS p, phpbb2_posts_text AS pt, phpbb2_users AS u, phpbb2_posts AS lp, phpbb2_users lu WHERE p.post_id = t.topic_first_post_id AND pt.post_id = t.topic_first_post_id AND u.user_id = p.poster_id AND lp.post_id = t.topic_last_post_id AND lu.user_id = lp.poster_id AND t.topic_calendar_time < 1093557600 AND (t.topic_calendar_time + t.topic_calendar_duration) >= 1092952800 AND t.topic_status <> 2 AND t.forum_id IN (1, 4, 3, 5, 6, 9, 10, 11, 7) ORDER BY t.topic_calendar_time, t.topic_calendar_duration DESC, t.topic_last_post_id DESC

Line : 261
File : /is/htdocs/XXXXXX/www.kingdomofmadness.de/europefans/includes/functions_calendar.php
Hier die Einbauanleitung des Counters:
ÖFFNEN: phpBB-Verzeichnis/includes/page_header.php

[FINDEN]:

//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//


[DAVOR EINFÜGEN]:

//
// chCounter
//
ob_start();
INCLUDE_CODE
$chCounter = ob_get_contents();
ob_end_clean();

[ERSETZE IN OBIGEM CODE "INCLUDE_CODE" DURCH DEN INCLUDE-CODE DES COUNTERS]



[FINDEN]:
'SITENAME' => $board_config['sitename'],

[DAVOR EINFÜGEN]:

'COUNTER' => $chCounter,




#
#-----[ AKTION: ]------------------------------------------
# ÖFFNEN: phpBB-Verzeichnis/includes/functions.php

[FINDEN]:

function message_die($msg_code, $msg_text = '', $msg_title = '', $err_line = '', $err_file = '', $sql = '')
{
global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path, $nav_links, $gen_simple_header, $images;
global $userdata, $user_ip, $session_length;
global $starttime;



[DANACH EINFÜGEN]:

global $HTTP_SERVER_VARS, $HTTP_GET_VARS, $HTTP_COOKIE_VARS;

So, der Include Code meines Counters sieht dann folgendermaßen aus:

Code: Alles auswählen

//
// chCounter
//
ob_start();
$chCounter_visible = "0";
include("/is/htdocs/XXXXX/www.kingdomofmadness.de/europefans/counter/counter.php");
$chCounter = ob_get_contents();
ob_end_clean();
That`s all! Hab jetzt echt keine Ahnung warum das net funzt. Die Datenbank ist angelegt und ich denke auch mal das ich das Teil richtig eingebaut hatte.

Wenn ich den Code aus der PageHeader rausnehme, kommt keine Fehlermeldung. Woran liegts?

Verfasst: 21.08.2004 17:19
von PhilippK
Was ist denn bei dir in der config.php als $table_prefix eingetragen?

Gruß, Philipp

Verfasst: 21.08.2004 17:31
von Doc Lecter
HI! Also in der Config vom Counter steht:

Code: Alles auswählen

$GLOBALS['chC']['dbconfig']['database'] = "kingdomofmadness_de";                 // Der Name der Datenbank
$GLOBALS['chC']['dbconfig']['tables_prefix'] = "counter3_";	// Prefix of the chCounter database tables
Config vom Forum:

Code: Alles auswählen

$dbname = 'kingdomofmadness_de_2';
$table_prefix = 'phpbb2_';
Also "phpbb2_" weil ich zwei Foren in der Datenbank laufen habe.
Der Counter läuft in ner anderen Datenbank als das Forum, aber das kann doch net das Problem sein oder?!

Verfasst: 21.08.2004 17:35
von PhilippK
Existiert denn die phpbb2_topics?

Gruß, Philipp

Verfasst: 21.08.2004 17:45
von Doc Lecter
Ja die existiert! Allerdings verstehe ich eines nicht:

Code: Alles auswählen

SQL Error : 1146 Table 'kingdomofmadness_de.phpbb2_topics' doesn't exist 
Das steht ja in der Fehlermeldung! Aber warum wird die kingdomofmadness_de abgefragt und nicht die kingdomofmadness_de_2?
Das Forum greift auf kingdomofmadness_de_2 zu und der Counter auf kingdomofmadness_de (lauft Config). Die Fehlermeldung ist irgendwie verwirrend. Ausserdem läuft das Forum ja perfekt WENN ich diesen Codeschnipsel vom Counter nicht in die PageHeader einfüge...

Verfasst: 04.09.2004 16:57
von chrispo
Hallo,

da kommt daher, dass der Counter, falls vorhanden, eine bereits bestehende DB-Verbindung übernimmt. (Da der Counter nicht für das phpBB, sondern als "stand-alone"-Script geschrieben wurde, nutzt er nicht die phpBB-DB-Klasse.) Dadurch wird die Verbindung auf die Datenbank gesetzt, die in der config.inc.php des Counters angegeben ist - ist diese eine andere als die, die das Forum benutzt, kommt es dann zu dem von dir beschriebenen Problem.
Wenn du PHP >= 4.2.0 installiert hast, öffne einmal die Datei include/mysql.class.php, suche folgende Zeile:

Code: Alles auswählen

		$this->connection_id = @mysql_connect($db_server, $db_user, $db_passwort) OR $this->display_error();
und ersetzte diese mit:

Code: Alles auswählen

		$this->connection_id = @mysql_connect($db_server, $db_user, $db_passwort, TRUE) OR $this->display_error();
Gruß,
Christoph

Verfasst: 16.09.2004 19:44
von Doc Lecter
Ich denke du hast recht! Habe allerdings nun den Counter in der selben Datenbank wie die Site gepackt. Funzt nun alles wunderbar! Juhuu