script eingebunden, nun fehlermeldung

heros

Mitglied
hi, hab folgendes problem:
ich habe eine art zufallsbild, das auf meiner website dargestellt wird (wird aus meinem gallery-fundus rausgepickt) und habe nun einen neuen counter bzw. logger installiert.
jetzt muss ich auf jeder seite folgende zeile einfügen, damit er diese mitzählt:
PHP:
<? include ("".$_SERVER[DOCUMENT_ROOT]."/log/bielweb_log.php");  ?>

klappt auch überall wunderbar, nur eben auf der startseite nicht. dort, wo sonst per script
PHP:
<?php 
include("../randompic.php"); 
?>
das bild jeweils hinkommt, steht nun folgendes:
Fatal error: Cannot redeclare class db in /home/musterwebsite/4images/includes/db_mysql.php on line 28

kann mir jemand sagen, woran das liegen könnte?


edit: dazu muss ich noch sagen, dass nun auch der rest des textes auf der site ab diesem bild nicht mehr dargestellt wird ...
 
Zuletzt bearbeitet:
sieht so aus, alsob die klasse 2 mal deklariert wird, oder dass es 2 klassen gibt, die gleich heissen...
du solltest entweder
-eine der klassen umbenennen ( und natürlich im code der pages, die sie benutzen ändern )
oder
-if(!class_exists("db")) { einbauen
 
danke für die schnelle antwort.

ok, die klasse "db" kommt anscheinend in beiden scripts vor.
muss ich nun in einem der beiden scripts überall dort, wo "class db" steht, was anderes einsetzen und das dann überall, wo "db" vorkommt, auch ändern (grob gesagt)?

also
PHP:
class Db {
  var $no_error = 0;
  var $connection;
  var $query_id = 0;
  var $query_count = 0;
  var $query_time = 0;
  var $query_array = array();
  var $table_fields = array();

  function Db($db_host, $db...
hier das "class Db" z.b. in "class Db_a" umbenennen und unten dann das "function Db" in "function Db_a" usw.? oder ists nicht so einfach?
 
Eben nicht!
Die beiden müssen verscheidenen Namen haben (Falls du dich nicht verschrieben hast) :
class Db_a
und
function Db_b
 
nein, hab das anders gemeint.
dass die class in zwei verschiedenen scripts verwendet wird, hab ich bereits erkannt. ich wollte nur fragen, ob ich in diesem falle in einem der beiden scripte überall das "db" in z. b. "db_a" umbenennen muss. also wenn da vorher

(ausschnitt aus diesem einen script)
PHP:
class Db {
  var $no_error = 0;
  var $connection;
  var $query_id = 0;
  var $query_count = 0;
  var $query_time = 0;
  var $query_array = array();
  var $table_fields = array();

  function Db($db_host, $db...
stand, muss ich nun alles in z. b.
PHP:
class Db_a {
  var $no_error = 0;
  var $connection;
  var $query_id = 0;
  var $query_count = 0;
  var $query_time = 0;
  var $query_array = array();
  var $table_fields = array();

  function Db_a($db_host, $db...
ändern, stimmt das? und klappt das dann so noch mit dem rest des scripts? ist ja wahrscheinlich nicht so einfach, das überall zu finden.
 
Zuletzt bearbeitet:
warum hast du überhaupt zwei mal die gleiche klasse eingebunden? check doch lieber mal, warum die überhaupt zwei mal aufgerufen wird!
 
es sind zwei voneinander unabhängige scripts, die ich so wie sie waren, in meine site includet habe.
den code habe ich also nicht selber geschrieben.
 
Wenn, dann musst du den Namen und den Namen von Konstruktor umändern.
Abba wieso bindest du 2 mal die gleiche Klasse ein? Versuchs doch mal irgendwie anders zu lösen.

[edit]Mist, zu spät :rolleyes:
 
Zurück