Foros del Web » Programando para Internet » PHP »

que se me daño?

Estas en el tema de que se me daño? en el foro de PHP en Foros del Web. Hola, resulta que desarrolle un script para introducir unos datos a una BD, hasta antes de pasarme a win XP funcionaba bien, pero ahora, cuando ...
  #1 (permalink)  
Antiguo 03/02/2006, 15:10
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
que se me daño?

Hola, resulta que desarrolle un script para introducir unos datos a una BD, hasta antes de pasarme a win XP funcionaba bien, pero ahora, cuando ya la voy a usar me saca este error :

Cita:


Notice: Undefined index: no_hay in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 67

Notice: Undefined index: notas in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 69

Notice: Undefined index: separacion in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 70

Notice: Undefined index: recoleccion in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 71

Notice: Undefined index: compostaje in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 78

Notice: Undefined index: incineracion in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 79

Notice: Undefined index: recuperacion in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 80

Notice: Undefined index: otro in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 81

Notice: Undefined index: $papel_carton in f:\archivos de programa\easyphp1-8\www\residuos\insertar_datos.php on line 89
Entrada duplicada 'ARGELIA' para la clave 1
ya le quite en php.ini la opcion para que me reporte las notices

este es mi codigo

Código PHP:
<?
include('connect.php');

//-------------------variables datos de municipio-------------

$municipio=$_REQUEST['municipio'];
$ubicacion=$_REQUEST['ubicacion'];

//-------------------variables anuales-----------------------

//poblacion
$pob2001=$_REQUEST['pob_2001'];
$pob2002=$_REQUEST['pob_2002'];
$pob2003=$_REQUEST['pob_2003'];
$pob2004=$_REQUEST['pob_2004'];
$pob2005=$_REQUEST['pob_2005'];
$pob2006=$_REQUEST['pob_2006'];


//percapita
$per2001=$_REQUEST['per_2001'];
$per2002=$_REQUEST['per_2002'];
$per2003=$_REQUEST['per_2003'];
$per2004=$_REQUEST['per_2004'];
$per2005=$_REQUEST['per_2005'];
$per2006=$_REQUEST['per_2006'];

//percapita
$tot2001=$_REQUEST['tot_2001'];
$tot2002=$_REQUEST['tot_2002'];
$tot2003=$_REQUEST['tot_2003'];
$tot2004=$_REQUEST['tot_2004'];
$tot2005=$_REQUEST['tot_2005'];
$tot2006=$_REQUEST['tot_2006'];



//-------------------variables empresa de aseo-------------------
$empresa_aseo=$_REQUEST['empresa_aseo'];
$caracter=$_REQUEST['caracter'];
$cobertura=$_REQUEST['cobertura'];
$barrido=$_REQUEST['barrido'];
$email=$_REQUEST['email'];
$web=$_REQUEST['web'];
$telefono=$_REQUEST['telefono'];
//--------------------variables sitio de disposicion final---------------
$stitiofinal=$_REQUEST['sitiofinal'];
$caracteristicas=$_REQUEST['caracteristicas'];
$distancia=$_REQUEST['distancia'];
$tiempo_vida=$_REQUEST['tiempo_vida'];
$licencia=$_REQUEST['licencia'];
$lixiviados=$_REQUEST['lixiviados'];
$gases=$_REQUEST['gases'];
$contamina=$_REQUEST['contamina'];
$fuentequecontamina=$_REQUEST['cual_fuente'];
//-------------------------------------------variables programas de educacion
$programa=$_REQUEST['programa_educacion'];
$fuente=$_REQUEST['fuente'];
$transporte=$_REQUEST['transporte'];
$disposicion=$_REQUEST['disposicion_final'];
$no_hay_programa=$_REQUEST['no_hay'];
$hay_programa_en=$fuente.", ".$transporte.", ".$disposicion.", ".$no_hay_programa;
$notas=$_REQUEST['notas'];
$separacion=$_REQUEST['separacion'];
$recoleccion=$_REQUEST['recoleccion'];
$pgirs=$_REQUEST['pgirs'];
$planaccion=$_REQUEST['planaccion'];
$dia=$_REQUEST['dia'];
$mes=$_REQUEST['mes'];
$anno2=$_REQUEST['anno2'];
$fecha=$anno2."-".$mes."-".$dia;
$compostaje=$_REQUEST['compostaje'];
$incineracion=$_REQUEST['incineracion'];
$recuperacion=$_REQUEST['recuperacion'];
$otro=$_REQUEST['otro'];
$programas=$compostaje.", ".$incineracion.", ".$recuperacion.", ".$otro;
$cual=$_REQUEST['cual'];
//--------------------- variables datos residuos----------------------
$humedad=$_REQUEST['humedad'];
$alimentos=$_REQUEST['alimentos'];
$poda=$_REQUEST['poda'];
$vidrio=$_REQUEST['vidrio'];
$papel_carton=$_REQUEST['$papel_carton'];
$plastico=$_REQUEST['plastico'];
$madera=$_REQUEST['madera'];
$metales=$_REQUEST['metales'];
$textiles=$_REQUEST['textiles'];
$caucho=$_REQUEST['caucho'];
$otros=$_REQUEST['otros'];
$fuente=$_REQUEST['fuente'];
//-------------------------variables fuentes-----------------------
$fubicacion=$_REQUEST['fuente_ubicacion'];
$fpoblacion=$_REQUEST['fuente_poblacion'];
$fpnpercapita=$_REQUEST['fuente_pn_percapita'];
$fpntotal=$_REQUEST['fuente_pn_total'];

//------------------insert poblacion anual-------------------------
mysql_db_query("residuos","INSERT INTO poblacion_anual (mun,ano_2001,ano_2002,ano_2003,ano_2004,ano_2005,ano_2006,fuente) values ('$municipio','$pob2001','$pob2002','$pob2003','$pob2004','$pob2005','$pob2006','$fpoblacion')") or die(mysql_error());
//------------------insert percapita anual-------------------------
mysql_db_query("residuos","INSERT INTO percapita_anual (mun,ano_2001,ano_2002,ano_2003,ano_2004,ano_2005,ano_2006,fuente) values ('$municipio','$per2001','$per2002','$per2003','$per2004','$per2005','$per2006','$fpnpercapita')") or die(mysql_error());
//------------------insert total anual-------------------------
mysql_db_query("residuos","INSERT INTO pntotal_anual (mun,ano_2001,ano_2002,ano_2003,ano_2004,ano_2005,ano_2006,fuente) values ('$municipio','$tot2001','$tot2002','$tot2003','$tot2004','$tot2005','$tot2006','$fpntotal')") or die(mysql_error());
//------------------insert caracteristicas de los residuos---------------------
mysql_db_query("residuos","INSERT INTO residuos(mun,humedad,alimentos,poda,vidrio,papel_carton,plastico,madera,metales,textiles,caucho,otros,fuente) values ('$municipio','$humedad','$alimentos','$poda','$vidrio','$papel_carton','$plastico','$madera','$metales','$textiles','$caucho','$otros','$fuente')") or die(mysql_error());
//-------------------insert programas de educacion ambiental--------------------
mysql_db_query("residuos","INSERT INTO educacion_ambiental(mun,educacion,reciclaje,notas,separacion,recoleccion,programas,otro,pgirs,planaccion,ejecu_planaccion) values ('$municipio','$programa','$hay_programa_en','$notas','$separacion','$recoleccion','$programas','$cual','$pgirs','$planaccion','$fecha')") or die(mysql_error());
//--------------------insert datos municipio------------------------------------
mysql_db_query("residuos","INSERT into municipio(mun,año,ubicacion) values ('$municipio','$anno','$ubicacion')") or die(mysql_error());
//---------------------insert sitio de disposicion final------------------------
mysql_db_query("residuos","INSERT INTO disposicion_final(mun,sitio,caracteristicas,distancia,tiempo_vida,licencia,lixiviados,gases,contamina,fcontamina) values ('$municipio','$sitiofinal','$caracteristicas','$distancia','$tiempo_vida','$licencia','$lixiviados','$gases','$contamina','$fuentequecontamina')") or die(mysql_error());
//---------------------insert datos empresa de asseo----------------------------
mysql_db_query("residuos","INSERT into emp_aseo (mun,prestadora,caracter,cobertura,barrido,email,web,telefono) values ('$municipio','$empresa_aseo','$caracter','$cobertura','$barrido','$email','$web','$telefono')") or die(mysql_error());
?>
quien me podria decir que esta pasando
__________________
Say no more.......
  #2 (permalink)  
Antiguo 03/02/2006, 15:31
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 12 años
Puntos: 5
si lo quitaste deberia estar algo asi el php.ini
Código:
error_reporting = E_ALL & ~E_NOTICE
reiniciaste tu servidor apache, por si acaso, suerte, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 03/02/2006, 16:40
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
asi es, ya lo deje asi
__________________
Say no more.......
  #4 (permalink)  
Antiguo 04/02/2006, 07:51
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 13 años, 9 meses
Puntos: 0
mmmm creo que $_request es una variable superglobal y deveria necesitar register_globals = on en php.ini y esta desde php 4.1.



saludos
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #5 (permalink)  
Antiguo 05/02/2006, 10:11
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
nada, ya puse el register_globals en on, reinicie el server y nada, sigue igual, lo que me parece extraño es: porque antes en win2k me funcionaba bien, y al pasarlo a win xp con la misma version de php y mysql, saca estos problemas? y lo peor es que no me inserta ningun registro
__________________
Say no more.......
  #6 (permalink)  
Antiguo 06/02/2006, 06:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por el_cesar
nada, ya puse el register_globals en on, reinicie el server y nada, sigue igual, lo que me parece extraño es: porque antes en win2k me funcionaba bien, y al pasarlo a win xp con la misma version de php y mysql, saca estos problemas? y lo peor es que no me inserta ningun registro
No se trata de usar un S.O. u otro . .sino de configuración de PHP ..

La directiva "error_reporting" de tu php.ini es la que controla los "tipos de errores" que va a mostrar PHP .. o incluso "avisos" de una mala programación como los que te dá.

Esos "notice" te dicen que estás intentando acceder a una variable que NO está definida. Teóricamente deberías hacer cosas tipo:

Código PHP:
if (isset($_REQUEST['per_2001'])){
   
$per2001=$_REQUEST['per_2001'];

Es decir, .. verificar si tu variable existe antes de pretender accederla para operar con ella.

Y mejor todavía usar $_POST o $_GET .. según de donde vengan esas variables y no asumir que puedan llegar de "POST o de GET o sean una COOKIE".

Pero .. como he comentado, eso es un "aviso" .. (podríamos dar gracias que PHP nos lo dice). Pero si tu no quieres cambiar tu código o programar "bien" .. puedes modificar esa directiva de PHP.

Si dices que al hacer tus cambios sigues vienedo esos "avisos" .. revisa primero que php.ini estás modificando. Tal vez no sea el que debes modificar. Eso lo puedes ver (el php.ini que debes modificar) haciendo un phpinfo(). ahí se te indicará la ruta y nombre de tu php.ini que debes modificar.

Por otro lado .. la directiva "register_globals" .. dejala a OFF por seguridad (en las FAQ's tienes el por qué explicado).

Un saludo,
  #7 (permalink)  
Antiguo 06/02/2006, 06:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
maralbust

mmmm creo que $_request es una variable superglobal y deveria necesitar register_globals = on en php.ini y esta desde php 4.1.
$_REQUEST es un array superglobal que contiene todo valor de GET, POST y COOKIEs .. Está disponible desde PHP 4.1.x en adelante y es -independiente- del uso de register_globals que uses (ON u OFF) .. Son los accesos como "globales" tipo $variable (siendo variable algo que provenga externo a tu script: por un formulario, link (url) .. etc) las que requieren de register_globals a on)

Un saludo,
  #8 (permalink)  
Antiguo 06/02/2006, 06:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por el_cesar
nada, ya puse el register_globals en on, reinicie el server y nada, sigue igual, lo que me parece extraño es: porque antes en win2k me funcionaba bien, y al pasarlo a win xp con la misma version de php y mysql, saca estos problemas? y lo peor es que no me inserta ningun registro
Que versión de PHP usas? ...

Si dices que usas todo lo mismo .. ¿usas el mismo php.ini que usabas en tu otro S.O.? .. al parecer no es así y por eso estás sufriendo las diferencias de configuración de PHP. Para otra vez si haces eso, .. toma tu php.ini, hazte copia de seguridad y de ahí re-instalas o te migras de S.O. .. sólo tendrás que usar las mismas rutas de instalación para que todo funcione a la primera o modificarlas en tu php.ini .. O mejor todavía -saber- que existe la configuración de PHP y en que medida te afecta a como tu programas.

Un saludo,
  #9 (permalink)  
Antiguo 06/02/2006, 15:06
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.411
Antigüedad: 16 años, 6 meses
Puntos: 20
ya logre eliminar la aparicion de los notices, pero pienso seguir la recomendacion de cluster y empezar a programar bien, solo que me gustaria que me recomendaran un buen manual sobre el manejo de variables.

gracias
__________________
Say no more.......
  #10 (permalink)  
Antiguo 07/02/2006, 05:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para ese tema concreto .. lo ideal es ver la referencia oficial de PHP.net al respecto:

http://www.php.net/variables

Un saludo,
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:17.