Foros del Web » Programando para Internet » PHP »

problema Notice: Undefined index: variables php

Estas en el tema de problema Notice: Undefined index: variables php en el foro de PHP en Foros del Web. hola a todos, tengo el siguiente problema, necesito hacer una pagina que me capture dos datos que ingresa el usuario y me los guarde en ...
  #1 (permalink)  
Antiguo 25/04/2011, 09:29
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 13 años, 3 meses
Puntos: 1
problema Notice: Undefined index: variables php

hola a todos, tengo el siguiente problema, necesito hacer una pagina que me capture dos datos que ingresa el usuario y me los guarde en una tabla e la bd, los datos en cuestion son una placa de un vehiculo, y el nombre del propietario, pero al momento de correr la pagina, me esta saliendo una validacion al comienzo de q los campos son obligatorios (esa validacion la puse yo para cuando den click en guardar sin datos), y me sale el siguiente error

Notice: Undefined index: placa in C:\wamp\www\stm_placas_prueba\sp.php on line 38

Notice: Undefined index: nombre in C:\wamp\www\stm_placas_prueba\sp.php on line 39


aca esta mi codigo

<body>






<table width="901" height="469" border="1" align="center" bordercolor="#D40000">
<tr bordercolor="#D40000">
<th width="891" height="109" scope="col"><img src="banner.JPG" width="891" height="221" /></th>
</tr>
<tr bordercolor="#D40000" bgcolor="#FFFBF0">
<td><div align="center">
<h1 class="Estilo4">SERVICIO PUBLICO </h1>
<p class="Estilo3">ULTIMA PLACA ASIGNADA </p>
<p>

<?php

$link = mysql_connect ("localhost","root");
$conn = mysql_select_db ("placas");
$placa_sp= $_POST['placa'];
$nombre_sp= $_POST['nombre'];
if ($placa_sp == "" || $nombre_sp == "")
echo('<script> alert (\'Los campos son obligatorios\') </script>');
else
{
$result = mysql_query ("INSERT INTO publico (placa,nombre) VALUES ('".$placa_sp."', '".$nombre_sp."')",$link);
$ultimo = mysql_query ("UPDATE ultimo_sp SET placa='".$placa_sp."', nombre='".$nombre_sp."' WHERE unico=1",$link);
$placa_sp="";
$nombre_sp="";
echo('<script> alert (\'guardado con exito\')</script>');
}
?>
<?php
$link = mysql_connect ("localhost","root");
$conn = mysql_select_db ("placas");
if (! $conn)
{echo "Error en la Base de Datos";}
echo "<p>&nbsp; </p>";
$ultimos_rangos = mysql_query("SELECT * FROM ultimo_sp WHERE unico='1'",$link);
$row = mysql_fetch_row($ultimos_rangos);
echo "<table border = '1' align='center'> \n";

echo "<tr> \n";

echo "<td bgcolor='#CCCCCC'><b>PLACA</b></td> \n";

echo "<td bgcolor='#CCCCCC'><b>NOMBRE</b></td> \n";

echo "</tr> \n";

echo "<tr> \n";

echo "<td>$row[0]</td> \n";

echo "<td>$row[1]</td> \n";

echo "</tr> \n";
echo "</table> \n";
?>
</p>
<p>&nbsp; </p>
<p align="center" class="Estilo3"><strong>ASIGNACION DE PLACAS</strong></p>
<form id="form1" name="form1" method="post" action="">
<table width="426" border="1">
<tr>
<td width="255">PLACA</td>
<td width="155"><label>
<input type="text" name="placa" id="placa" />
</label></td>
</tr>
<tr>
<td>NOMBRE</td>
<td><label>
<input type="text" name="nombre" id="nombre" />
</label></td>
</tr>
<tr>
<td height="40" colspan="2"><div align="center">
<label>
<input type="submit" name="guardar" id="guardar" value="Guardar" />
</label>
</div></td>
</tr>
</table>
<label></label>
<p align="left" class="Estilo2">
<label>
</p>
<div align="left"></div>
</label>
</form>
<p align="center" class="Estilo3">&nbsp;</p>
</div></td>
</tr>
</table>
</body>
</html>

ojala me puedan ayudar, porque la verdad soy un novato en esto del php

gracias
  #2 (permalink)  
Antiguo 25/04/2011, 09:38
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: problema Notice: Undefined index: variables php

a ver tratale asi


Código PHP:
@$placa_sp$_POST['placa'];
@
$nombre_sp$_POST['nombre']; 
me imagino que de entrada al no mandar esos datos pues los marca como que en el arreglo del post no tiene esos indices
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #3 (permalink)  
Antiguo 25/04/2011, 09:50
Avatar de oswalgogra  
Fecha de Ingreso: septiembre-2007
Ubicación: En algún lugar del territorio Colombiano
Mensajes: 140
Antigüedad: 16 años, 7 meses
Puntos: 5
Busqueda Respuesta: problema Notice: Undefined index: variables php

Hola, qué tal?
Ese no es un error, es una advertencia en la que el servidor te está diciendo que no existen los índices "placa" y "nombre", parece que el formulario no está enviando esos datos cuando éste es procesado.

Si no quieres que salga esa alerta, creo que puedes darle un valor por defecto a la placa y al nombre, y luego validas si son vacíos o no:

Código PHP:
//...
$link mysql_connect ("localhost","root");
$conn mysql_select_db ("placas");
$placa_sp = (isset($_POST['placa']))? $_POST['placa'] : "";
$nombre_sp = (isset($_POST['nombre']))? $_POST['nombre'] : "";

// las validaciones (básicas)
$errores = array();
if(
$placa_sp == "")
   
$errores["placa"] = "Verifique la placa.";
if(
$nombre_sp == "")
   
$errores["nombre"] = "Verifique el nombre.";

// en este momento el arreglo $errores tiene los mensajes de error o está vacío 
Pero ojo, creo que primero deberías verificar si el formulario está enviando todos los datos que necesitas, puedes hacer un
Código PHP:
print_r($_POST); 
y así miras lo que viene en los datos de la petición de tipo POST.

Fíjate si el método de envío del formulario es "post", y que los campos de la placa y el nombre no tienen el atributo "disabled".

Listo, espero que esta información te pueda servir, éxitos y hasta pronto!

Pdta: si he cometido error, no dudes en notificarlo
__________________
Oswaldo: El que gobierna con el poder de Dios.
  #4 (permalink)  
Antiguo 25/04/2011, 09:50
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: problema Notice: Undefined index: variables php

Que tal nzick, verifica que se haya hecho el submit antes de asignar las variables:
Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect ("localhost","root");
  3. $conn = mysql_select_db ("placas");
  4. if (isset($_POST['guardar']) && $_POST['guardar'] == 'Guardar'){
  5. $placa_sp= $_POST['placa'];
  6. $nombre_sp= $_POST['nombre'];
  7. if ($placa_sp == "" || $nombre_sp == "")
  8. echo('<script> alert (\'Los campos son obligatorios\') </script>');
  9. else
  10. {
  11. $result = mysql_query ("INSERT INTO publico (placa,nombre) VALUES ('".$placa_sp."', '".$nombre_sp."')",$link);
  12. $ultimo = mysql_query ("UPDATE ultimo_sp SET placa='".$placa_sp."', nombre='".$nombre_sp."' WHERE unico=1",$link);
  13. $placa_sp="";
  14. $nombre_sp="";
  15. echo('<script> alert (\'guardado con exito\')</script>');
  16. }
  17. }
  18. ?>


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #5 (permalink)  
Antiguo 25/04/2011, 09:53
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: problema Notice: Undefined index: variables php

gracias, como me dijiste funciono, pero no se porque me sigue saliendo ese campo de validacion cuando apenas cargo la pagina, lo raro es q estoy reutilizando codigo de otras dos paginas que hice similares y ahi tengo el mismo letrero de advertencia y no me sale de primera sino que si no meto datos si aparece, no sabras depronto por q pasa esto?
  #6 (permalink)  
Antiguo 25/04/2011, 10:01
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: problema Notice: Undefined index: variables php

Cita:
Iniciado por Carlojas Ver Mensaje
Que tal nzick, verifica que se haya hecho el submit antes de asignar las variables:
Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect ("localhost","root");
  3. $conn = mysql_select_db ("placas");
  4. if (isset($_POST['guardar']) && $_POST['guardar'] == 'Guardar'){
  5. $placa_sp= $_POST['placa'];
  6. $nombre_sp= $_POST['nombre'];
  7. if ($placa_sp == "" || $nombre_sp == "")
  8. echo('<script> alert (\'Los campos son obligatorios\') </script>');
  9. else
  10. {
  11. $result = mysql_query ("INSERT INTO publico (placa,nombre) VALUES ('".$placa_sp."', '".$nombre_sp."')",$link);
  12. $ultimo = mysql_query ("UPDATE ultimo_sp SET placa='".$placa_sp."', nombre='".$nombre_sp."' WHERE unico=1",$link);
  13. $placa_sp="";
  14. $nombre_sp="";
  15. echo('<script> alert (\'guardado con exito\')</script>');
  16. }
  17. }
  18. ?>


Saludos.
Intentaste haciendo esto que te dije??, de esta forma no te saldra la advertencia cuando cargues la página.


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #7 (permalink)  
Antiguo 25/04/2011, 10:05
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: problema Notice: Undefined index: variables php

Cita:
Iniciado por Carlojas Ver Mensaje
Que tal nzick, verifica que se haya hecho el submit antes de asignar las variables:
Código PHP:
Ver original
  1. <?php
  2. $link = mysql_connect ("localhost","root");
  3. $conn = mysql_select_db ("placas");
  4. if (isset($_POST['guardar']) && $_POST['guardar'] == 'Guardar'){
  5. $placa_sp= $_POST['placa'];
  6. $nombre_sp= $_POST['nombre'];
  7. if ($placa_sp == "" || $nombre_sp == "")
  8. echo('<script> alert (\'Los campos son obligatorios\') </script>');
  9. else
  10. {
  11. $result = mysql_query ("INSERT INTO publico (placa,nombre) VALUES ('".$placa_sp."', '".$nombre_sp."')",$link);
  12. $ultimo = mysql_query ("UPDATE ultimo_sp SET placa='".$placa_sp."', nombre='".$nombre_sp."' WHERE unico=1",$link);
  13. $placa_sp="";
  14. $nombre_sp="";
  15. echo('<script> alert (\'guardado con exito\')</script>');
  16. }
  17. }
  18. ?>


Saludos.

gracias carlojas, como siempre usted de oportuno sacandome de los problemas, quedo perfecto como dijiste, muchas gracias hermano
  #8 (permalink)  
Antiguo 21/11/2012, 09:54
 
Fecha de Ingreso: julio-2005
Mensajes: 4
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: problema Notice: Undefined index: variables php

Hola, tengo este código y la verdad como no soy programador no me doy cuenta lo que tengo que cambiar, si bien ingresando “error_reporting(E_ALL ^ E_NOTICE);” al comienzo deja de aparecer el mensaje “Notice: Undefined index”, quisiera saber como definir bien las variables.

************************************************** *****
if (isset($_POST["filter"])) $filter = @$_POST["filter"];
if (isset($_POST["filter_field"])) $filterfield = @$_POST["filter_field"];
$wholeonly = false;
if (isset($_POST["wholeonly"])) $wholeonly = @$_POST["wholeonly"];
if (!isset($filter) && isset($_SESSION["filter"])) $filter = $_SESSION["filter"];
if (!isset($filterfield) && isset($_SESSION["filter_field"])) $filterfield = $_SESSION["filter_field"];

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

Cabe destacar que la consulta se hace a una tabla de una base de datos en Oracle y hay campos que están nulos o vacíos.

Etiquetas: index, variables
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 09:13.