Foros del Web » Programando para Internet » PHP »

Notice: Undefined index:

Estas en el tema de Notice: Undefined index: en el foro de PHP en Foros del Web. Hola a todos... Me aparece el siguiente error. Aca está el codigo: ************************************************** *************** <html> <head> <title>Ingreso de Estudiantes</title> </head> <? //coneccion a la base ...
  #1 (permalink)  
Antiguo 19/11/2010, 14:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 29
Antigüedad: 13 años, 6 meses
Puntos: 0
Notice: Undefined index:

Hola a todos...

Me aparece el siguiente error.



Aca está el codigo:

************************************************** ***************

<html>
<head>
<title>Ingreso de Estudiantes</title>
</head>
<?
//coneccion a la base de datos
$db_host="localhost";
$db_nombre="man_estudiantes";
$db_user="root";
$db_pass="";
$link=mysql_pconnect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");
$error=mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");

//haciendo el insert
$nombre=$_POST["nombre"]; //Linea 15
$apellido=$_POST["apellido"]; //Linea 16
$direccion=$_POST["direccion"]; //Linea 17
$telefono=$_POST["telefono"]; //Linea 18
$sql = "insert into datos_estudiante (nombre,apellido,direccion,telefono) values ('".$nombre."','".$apellido."','".$direccion."','" .$telefono."')";
$result = mysql_query($sql, $link)or die (mysql_error());
?>
<body>
<form action="mensaje.php" method="post" name="ingreso">
<table align="center" width="400" border="0">
<tr>
<td>&nbsp;</td>
<td align="center"><strong>INGRESO DE ESTUDIANTES</strong></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Nombre:</td>
<td><input type="text" name="nombre" id="nombre">
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Apellido:</td>
<td><input type="text" name="apellido" id="apellido">
</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Dirección:</td>
<td><input type="text" name="direccion" id="direccion"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Teléfono:</td>
<td><input type="text" name="telefono" id="telefono"></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><input type="submit" name="guardar" id="boton_guardar" value="Guardar">
</td>
<td><a href="index.php">
<input type="button" name="cancelar" id="boton_cancelar" value="Cancelar">
</a></td>
</tr>
</table>

</form>
</body>
</html>

************************************************** ***************

Alguien me podría ayudar con este error.

Gracias.
  #2 (permalink)  
Antiguo 19/11/2010, 14:19
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Notice: Undefined index:

Wow...

Cuando ingresas a tu script trata de asignar los valores de estos $_POST a las variables correspondientes, pero como no has enviado nada desde el formulario $_POST está vacío, por eso el error.

Deberías encerrar la consulta y los $_POST en un if que compruebe que $_POST no está vacío.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 19/11/2010, 14:29
Avatar de tpzurdo  
Fecha de Ingreso: julio-2007
Mensajes: 83
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Notice: Undefined index:

probá con las comillas simples en el $_POST['loquesea'] me parece que queda mejor...
pondría if (isset($_POST['nombre'])){$nombre=$_POST['nombre'];}else{$nombre='';} y hay otra forma más linda que usan algunos pero no me la acuerdo...
  #4 (permalink)  
Antiguo 19/11/2010, 14:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 18
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Notice: Undefined index:

antes de intentar guardar algo, tienes que verificar que
el usuario ha dado click en el botón guardar

para esto, debes agregarle lo siguiente:


Código PHP:
<html>
<head>
<title>Ingreso de Estudiantes</title>
</head>
<?php
if (isset($_POST['guardar']))
{
    
//conexion a la base de datos
    //insert
}
?>

<body>
<form ...
__________________

Si no me aumentas karma, no me motivas a ayudarte
  #5 (permalink)  
Antiguo 19/11/2010, 14:41
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Notice: Undefined index:

$nombre=$_POST["nombre"]; //Linea 15
podes usar el operador ternario
Código PHP:
Ver original
  1. $nombre = isset($_POST['nombre'])? $_POST['nombre'] : null;

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: index, undefined
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 05:20.