Foros del Web » Programando para Internet » PHP »

Undefined index

Estas en el tema de Undefined index en el foro de PHP en Foros del Web. Hola tengo un problema que me da como error Undefined index: txt_fecha in.... El caso es que utilizo un calendario js en una pagina para ...
  #1 (permalink)  
Antiguo 29/06/2012, 13:20
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
Undefined index

Hola tengo un problema que me da como error Undefined index: txt_fecha in....
El caso es que utilizo un calendario js en una pagina para obtener una fecha que luego necesito insertar en una tabla. Una vez que el usuario me ha seleccionado la fecha en un txt_fecha, gaurdo ese valor en una variable php y la inserto, pero no me deja pq me da el error que les comenté. Qué estoy haciendo mal?
Saludos y agradecida de antemano
aqui mi código:

<?php include_once("class/class.bd.php");

if (isset($_POST['lista_grupos']))
{
var_dump($_POST);
$id_grupo=$_POST['lista_grupos'];
$cant_personas=$_POST['txt_cant_personas'];
$id_hotel=$_POST['lista_hotel'];
$contacto_hotel=$_POST['txt_contacto_hotel'];
$tipo_evento=$_POST['lista_tipo_evento'];
$fecha_evento_prime=strtotime($_POST['txt_fecha']);

$d1=date("d",strtotime($fecha_evento_prime));
$m1=date("m",strtotime($fecha_evento_prime));
$y1=date("Y",strtotime($fecha_evento_prime));
$fecha_evento=date("d/m/y",strtotime("$d1/$m1/$y1"));
$lugar_evento=$_POST['txt_lugar_evento'];
$evento=edit_data("INSERT INTO tb_evento(id_grupo, id_hotel, contacto_hotel,fecha_evento, cant_personas, id_estado)VALUES( $id_grupo, $id_hotel, '$contacto_hotel','$fecha_evento_prime','$cant_per sonas', 1)");
//$evento=edit_data("UPDATE tb_evento SET id_hotel=890 WHERE id_hotel=2");
}



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Entrada de datos de un nuevo evento</title>
<script language='javascript' src="popcalendar.js"></script>
</head>

<body>
<form id="form1" name="form1" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<table width="100%" height="152" border="1">
<tr>
<td colspan="6"><img src="/scenic/images/banner_sarao_scenic.jpg" width="100%" height="73" longdesc="/scenic/images/banner_sarao_scenic.jpg" /></td>
</tr>
<tr>
<td width="299">GRUPO</td>
<td width="144"><label for="lista_grupos"></label>
<select name="lista_grupos" size="1" id="lista_grupos">
<?php $lista_grupos=get_data("SELECT * FROM tb_grupo_hotel");
foreach($lista_grupos as $value){

?>
<option value="<?php echo $value["id_grupo_hotel"]?>"><?php echo $value["nombre_grupo"]?></option>

<?php }?>


</select></td>
<td width="241">FECHA DEL EVENTO</td>
<td><input name="txt_fecha" type="text" id="dateArrival" onclick="popUpCalendar(this, form1.dateArrival, 'dd-mm-yyyy');" size="10"
/></td>
<td width="38">PAX</td>
<td width="149"><label for="txt_cant_personas"></label>
<input type="text" name="txt_cant_personas" id="txt_cant_personas" /></td>
</tr>
<tr>
<td>HOTEL</td>
<td><label for="lista_hotel"></label>
<select name="lista_hotel" size="1" id="lista_hotel">

<?php $hoteles=get_data("SELECT * FROM tb_hotel");
foreach($hoteles as $value){

?>
<option value="<?php echo $value["id_hotel"]?>"><?php echo $value["nombre_hotel"]?></option>

<?php }?>

</select></td>
<td>TIPO DE EVENTO</td>
<td><select name="lista_tipo_evento" size="1" id="lista_tipo_evento">

<?php $tipo_evento=get_data("SELECT * FROM tb_tipo_evento");
foreach($tipo_evento as $value){

?>
<option value="<?php echo $value["id_tipo_evento"]?>"><?php echo $value["tipo_evento"]?></option>

<?php }?>
</select></td>
</tr>
<tr>
<td>CONTACTO DEL HOTEL</td>
<td><label for="txt_contacto_hotel"></label>
<input type="text" name="txt_contacto_hotel" id="txt_contacto_hotel" /></td>
<td>LUGAR DEL EVENTO</td>
<td><label for="txt_lugar_evento"></label>
<input type="text" name="txt_lugar_evento" id="txt_lugar_evento" /></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="btn_aceptar" id="btn_aceptar" value="Enviar"/></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<p>
<input type="hidden" name="MM_insert" value="form1" />
</p>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 29/06/2012, 14:08
Avatar de MRotten  
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 11 años, 10 meses
Puntos: 5
Respuesta: Undefined index

Muero de sueño, solo vi esto xD
Código SQL:
Ver original
  1. '$cant_per sonas'
Tienes un espacio ahí.
  #3 (permalink)  
Antiguo 29/06/2012, 14:40
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Undefined index

NO, disculpa, ya revisé y no tengo ningún espacio ahí.
Please alguien más?
  #4 (permalink)  
Antiguo 29/06/2012, 14:57
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Undefined index

hola si, efectivamente tienes un espacio

en el segmento

Código PHP:
Ver original
  1. $evento=edit_data("INSERT INTO tb_evento(id_grupo, id_hotel, contacto_hotel,fecha_evento, cant_personas, id_estado)VALUES( $id_grupo, $id_hotel, '$contacto_hotel','$fecha_evento_prime','$cant_per sonas', 1)");
  2. //$evento=edit_data("UPDATE tb_evento SET id_hotel=890 WHERE id_hotel=2");
  #5 (permalink)  
Antiguo 29/06/2012, 15:35
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Undefined index

pues si ya vi que en el código que subí tengo ese espacio pero en mi código no lo tengo, y sigo sin poder inertar, asi que debe ser algo más.
  #6 (permalink)  
Antiguo 29/06/2012, 15:41
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: Undefined index

publica nuevament tu codigo tal y como lo tienes, pero un poco mas simplificado...

usa los highlight para mostrar el codigo mejor
  #7 (permalink)  
Antiguo 29/06/2012, 15:43
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Undefined index

Suele suceder que al colocar código es este foro a veces pone espacios donde no los hay.

Pero por favor ponle el highlight a tu código, ya que tratar de leer así da flojera tratar de buscar un posible fallo.
  #8 (permalink)  
Antiguo 29/06/2012, 16:26
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Undefined index

Sin duda es algo del calendario, como pone las fechas el calendario?
01-02-2012
1-2-2012
puede darse el caso que te las esten ingresando a mano y tambien le pongan - ó / a los separadores, ademas agrega un maxlenght="10" asi te evitas que agreguen otra cosa, y tambien recomiendo un validador de fecha o que bien la fecha sea onlyread y que solo se complete con el calendario.

Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #9 (permalink)  
Antiguo 29/06/2012, 17:19
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Undefined index

ok, voy a seguir la recomendación y repito el codigo más sinplificado
Código PHP:
Ver original
  1. mi codigo php antes del html es el siguiente:
  2. <?php include_once("class/class.bd.php");
  3.  
  4. if (isset($_POST['lista_grupos']))
  5. {
  6. //var_dump($_POST);
  7. $id_grupo=$_POST['lista_grupos'];
  8. $cant_personas=$_POST['txt_cant_personas'];
  9. $id_hotel=$_POST['lista_hotel'];
  10. $contacto_hotel=$_POST['txt_contacto_hotel'];
  11. $tipo_evento=$_POST['lista_tipo_evento'];
  12. $fecha_evento=strtotime($_POST['txt_fecha']);
  13.  
  14. $lugar_evento=$_POST['txt_lugar_evento'];
  15. $evento=edit_data("INSERT INTO tb_evento(id_grupo, id_hotel, contacto_hotel, fecha_evento, cant_personas, id_estado)VALUES( $id_grupo, $id_hotel, '$contacto_hotel','$fecha_evento','$cant_personas', 1)");
  16.  
  17. }
  18.  
  19.  
  20.  
  21. ?>

ahora mi codigo html que en esta linea es donde me da undefined index txt_fecha
Código HTML:
Ver original
  1. <td width="241">FECHA DEL EVENTO</td>
  2.        <td><input name="txt_fecha" type="text" id="dateArrival"  onclick="popUpCalendar(this, form1.dateArrival, 'yyyy-mm-dd');"  size="10"
  3.       /></td>
  4.  
  5. y ya le he cambiado varias veces la manera de obtener las fechas y segun veo con el var_dump de la primera linea me las obtiene bien pero no inserta nada, si le quito la fecha si inserta el record
  6. espero que ahora si me haya explicado mejor

Última edición por hcbosch; 02/07/2012 a las 13:00
  #10 (permalink)  
Antiguo 06/07/2012, 09:17
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Undefined index

Consultas.
1.- en tu input donde obtienes la fecha desde tu calendario JS que formato de fecha te entrega? o es hay donde te da el problema?
2.- si te entrega una fecha y esa la tratas de ingresar a base de datos, segun veo la obtienes año-mes-dia, por que haces un $fecha_evento=strtotime($_POST['txt_fecha']); luego?????
3.- Tu campo de base de datos en que formato esta en DATE? o dateTime etc...
4.- el error quien lo entrega php o JS ?

Saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Etiquetas: html, index, tabla, undefined, variables, usuarios
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 17:20.