Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    Fatal error: Cannot redeclare class - come risolvere

    Improvvisamente mi appare questo errore:

    "Fatal error: Cannot redeclare class mod_db in xxxxx on line 43"

    Alla linea 43 c'è:
    class mod_db {

    La cosa strana è che se riavvio apache, al primo caricamento della pagina non mi da errore, dal secondo in poi si.. Non capisco cosa possa essere..

    Idee ?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non credo dipenda da apache, probabilmente la carichi più volte.

    Prova a vedere dove includi il file, se puoi evita, se non puoi sostituisci il require con require_once (o include con include_once).

    ciao

  3. #3
    l'errore è chiaro: la classe mod_db è stata dichiarata due volte il che è vietato. Quindi controlla che non ci sia qulcosa tipo

    $db = new mod_db();

    ripetuto due volte!

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Emulman
    l'errore è chiaro: la classe mod_db è stata dichiarata due volte il che è vietato. Quindi controlla che non ci sia qulcosa tipo

    $db = new mod_db();

    ripetuto due volte!
    Hai cominciato bene ma poi hai sbagliato.

    Una cosa è dichiarare una classe (cosa che fai quando includi il file che appunto la dichiara), e un conto è istanziare una classe (cosa che hai fatto tu nel tuo esempio).
    E' ovvio che si possono fare Nmila istanze (è la base della programmazione a oggetti), ma non si possono dichiarare 2 oggetti con lo stesso nome.

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Non ho dichiarato 2 oggetti con lo stesso nome
    Per questo non capisco..

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da uMoR
    Non ho dichiarato 2 oggetti con lo stesso nome
    Per questo non capisco..
    Si è espresso male.
    Hai la stessa classe dichiarata due volte.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Ripeto che non ho dichiarato 2 volte la stessa classe !

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ti faccio un esempio tipico di errore del genere:

    pagina index
    codice:
    require("classe1.php");
    require("classe2.php");
    classe2.php
    codice:
    require("classe1.php");
    altre soluzioni non ne ho, l'errore è piuttosto esplicito.

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.