Foros del Web » Programando para Internet » PHP »

Como slvar el error:Cannot redeclare

Estas en el tema de Como slvar el error:Cannot redeclare en el foro de PHP en Foros del Web. Hola amigos ... Aqui molestandole con un problema que seguro estoy que alguien ya paso y lo soluciono. Tengo tres programas echos en php los ...
  #1 (permalink)  
Antiguo 15/07/2008, 11:07
 
Fecha de Ingreso: julio-2006
Mensajes: 23
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta Como slvar el error:Cannot redeclare

Hola amigos ...

Aqui molestandole con un problema que seguro estoy que alguien ya paso y lo soluciono.

Tengo tres programas echos en php los cuales me sirven para parsear un xml y almacenarlo en una table en mysql.

El primer archivo php: lee desde un vector archivos xml

include "migra.php";
foreach ($array as $indice => $valor){

migra($valor);
echo $indice." = ".$valor."<br>";
}

aqui incluyo migra.php que contiene una funcion que lee un xml y lo almacena en mysql.

El segundo archvio php (migra.php): parsea un xml y lo almacena en mysql, incluyendo fundiones.php que tienes funciones de conectarse a la base de batos


function migra($archivo)
{
include('funciones.php');
$enlace = conectarse();
....
...
}

El tercer archivo php (funciones.php): contiene funcion de coneccion a la base de datos.
function conectarse()
{
$db_host="localhost"; // Host al que conectar, habitualmente es el ‘localhost’
$db_nombre="jabberd2"; // Nombre de la Base de Datos que se desea utilizar
$db_user="root"; // Nombre del usuario con permisos para acceder
$db_pass="basededatos321"; // Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos ‘$link’
$link=mysql_connect($db_host,$db_user,$db_pass) or die ("Error conectando a la base de datos.");
// Seleccionamos la base de datos que nos interesa
mysql_select_db($db_nombre,$link) or die("Error seleccionando la base de datos.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
return ($link);
}
Lo que paso es que cuando envio un archivo en el vector todo funciona, el problema es que cuando envio varios archivos en el vector sale el siguiente error

Fatal error: Cannot redeclare conectarse() (previously declared in C:\AppServ\www\migrar_jabberd\funciones.php:8) in C:\AppServ\www\migrar_jabberd\funciones.php on line 18

El problema es que creo que incluyo funciones.php dentro de la funcion migra lo lee, ahora como hago para que cuando termine la funcion migro el include (funciones.php) desaparexca o ya no lo incluya en la segunda llllamda..

Por favor ayudenme...
  #2 (permalink)  
Antiguo 15/07/2008, 15:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como slvar el error:Cannot redeclare

Tema trasladado a PHP General.
  #3 (permalink)  
Antiguo 16/07/2008, 09:08
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como slvar el error:Cannot redeclare

podés arreglar el error usando include_once() en vez de include.

Pero te recomiendo revisar el funcionamiento del sistema, deberías mover la inclusión del archivo hacia fuera del foreach.


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:03.