Newsgroup: it.comp.www.php
Titolo: Fatal error: cannot redeclare

Un semplice script mi genera questo errore:
Fatal error: Cannot redeclare myfunc() (previously declared in
d:\web\sito\admin\incl\config.php:132) in d:\web\sito\admin\incl\config.php
on line 130
Vi assicuro che non c'è nessuna ridichiarazione della variabile.
E nessuna dichiarazione di funzione dentro a funzione.
Allora perchè succede?
Aggiungo che lo STESSO script gira ad ok su altri siti.
Purtroppo lo script è su hosting windows con php versione 4.2.3 che gira
come CGI.
Grazie

 Allora perchh succede?
POSTA IL CODICE DI config.php !!!!!
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/x
Non trovi qualche cosa? 
http://url.repository.biz/go/1J

Probabilmente hai fatto diversi include nel tuo file, per cui se hai
definito la definizione in due files diversi di dà quell'errore.
La soluzione consiste o nell'includere solo quello che effettivamente di
serve, oppure usare la funzione include_once();
Michele Mader
http://www.studiomader.it/
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:46VPb.271560$vO5.11...@twister1.libero.it...


 wrote in message
cQUPb.278879$e6.10...@twister2.libero.it...

Allora:
1) Nessun include nel file config.php
2) Il codice di config.php è semplicemente un insieme di instruzioni e
funzioni.
Nota: provate a fare una ricerca su google con parole chiave "fatal error:
cannot rdeclare"
e vedrete (anche solo nelle pagine in italiano) quanti siti hanno questo
tipo di errore.
Secondo me è un problema di configurazione di php, bugs o cose del genere.
Ricordo che lo script gira su altri siti ed è identico.

Ricordo che lo script gira su altri siti ed è identico.
Prova a cambiare nome alla funzione.
Ciao
Francesco
_____________________________________
http://www.altropc.it
 - Un altro PC è possibile!
Software libero, PHP, MySQL, Webdesign, Sicurezza, CMS, Tutorials
Per rispondere in e-mail togli NOSPAM 

 Secondo me è un problema di configurazione di php, bugs o cose del genere.
Sì sì.. e poi c'era la marmotta che incartava la cioccolata :)
L'unica possibilità che mi viene in mente in tal senso, ma è alquanto 
remota, riguarda l'inclusione di qualcosa di strano in include_path nel 
php.ini.
---
Quando si trova e si corregge un errore, si vedra' che andava meglio prima.

 Quando si trova e si corregge un errore, si vedra' che andava meglio
prima.
Lo hai detto: quando si trova un errore...
io però non l'ho trovato, ed è questo che mi preoccupa.
Comunque in questi ultimi minuti credo di aver capito qual è il problema.
E non è un errore del programma.
Grazie.

 funzioni.
Ti ripeto:
POSTA IL CODICE DI config.php !!!
-- 



leggi la risposta sopra grazie.


 problema.  E non h un errore del programma.
Bene e perche' non ce lo dici anche a noi? 
Tieni presente che un errore di configurazione del PHP ricade comunque
tra le competenze dello sviluppatore.
-- 


 leggi la risposta sopra grazie.
L'ho letta e continuo a ripetere:
POSTA IL CODICE DI config.php !!!
Che credi che siamo veggenti?
-- 


 tra le competenze dello sviluppatore.
Ah si?
Te non sarai un veggente.
Io non sono un mago.
Comunque ragazzi, se il risultato del newsgroup è venire trattati da
inetti...
alla prima risposta fate voi.


 Da un pivello come me vuoi saperlo?
Beh, ora sappiamo che sei un pivello.
Mi sembra tu stia un po' prendendo per i fondelli.
Non fare tanto la prima donna, posta il codice di tutto il file. Visto
che sei cosi' sicuro che non sia un errore di programmazione,
dimostracelo! Perche' sta tutto li il problema. Fino ad ora non hai
voluto postarlo, quale e' il motivo?
[quoto]
Comunque in questi ultimi minuti credo di aver capito qual h il
problema. E non h un errore del programma.
[/quoto]
Se ne sei cosi' convinto per quale motivo non lo fai vedere a tutto il
gruppo?


 E non è un errore del programma.
Bene.. allora vai qui:
http://tinyurl.com/3ybfq
---
RTFM!

Ma si, se è tanto convinto che sia un baco del PHP lascia che scriva un bug
report agli sviluppatori e poi li mandi a quel paese.
Comunque c'è la funzione function_exists per vedere se una funzione è già
stata definita.
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:phaQb.273295$vO5.11...@twister1.libero.it...


 >
anche a me gira, e che se non gira che fa girare le palle
if (!function_exists('md5_file')) {
    function md5_file($inFile) {
    if (file_exists($inFile)) {
    $fd = fopen($inFile, 'r');
    $fileContents = fread($fd, filesize($inFile));
    fclose ($fd);
    return md5($fileContents);
    }else{
    return false;
    }
  }    // close md5
 }     // end if
non avevo voglia di riscrivere il codice dove chiamo md5_file
se la funzione di php manca (ma esiste in una versione sucessiva)
IMHO la lascio con lo stesso nome, in caso che ISP aggiorna
usa la funzione interna
