2010-03-25 12 views

Respuesta

10

usted podría ser incluida en el archivo que contiene la función más de una vez:

include 'file.php'; 
    include 'file2.php'; 

archivo.php:

include 'file2.php'; 

Cannot redeclare saveorder() (previously declared in :10) on line 71

De cualquier uso o include_oncerequire_once para asegurarse de que no ocurre (esto puede causar problemas si intenta incluirlo dos veces en dos ubicaciones separadas (como primero en un archivo) , luego, dentro de una función por alguna razón, la segunda no funcionará si incluye la parte _once).

1

De cualquier tables.php contiene una función llamada también saveOrder(), o el archivo que publicaste en realidad ES tables.php. PHP no puede tener 2 funciones con el mismo nombre en el mismo espacio de nombres.

+0

Cuando comento la línea 10. simplemente mueve el error a la línea 11? – Tom

4

Debe incluir varias veces el archivo actual (de donde provienen las líneas).

una solución fácil está utilizando

if (!function_exists('saveOrder')) { 
    function saveOrder() {...} 
} 

Sin embargo, recomiendo crear un nuevo archivo functions.php, incluso en una sola vez, y la colocación de todas las funciones allí.

1

esto también podría deberse a que saveorder() se descargue dentro de otra función que se llama varias veces.

por ejemplo.

function func1() 
{ 
    function saveorder() 
    { 
     echo 'x'; 
    } 
    saveorder(); 
} 

for ($i=0;$i<2;++$i) 
    func1(); 
+0

Este fue el caso para mí. – claytronicon

1

Creo que esto debe ser un fallo en PHP desde donde se tiene ": 10" Recibo todo tipo de símbolos extraños que no se producen en cualquier lugar en mi código - es decir. una vez podría ser ": 0", la próxima vez ": 196870" y la próxima vez "! qhsu89s3". También encuentro que si espero un poco antes de refrescarme, normalmente se soluciona.

No es demasiado alentador Tengo que decirlo, pero supongo que hay un problema con PHP en Windows.

Cuestiones relacionadas