PHP - undefined index insert

 
Vista:

undefined index insert

Publicado por ZEROX (35 intervenciones) el 22/08/2012 21:47:21
Hola que tal me muestra este error cuando intento hacer un insert

me podrian ayudar?

este e smi codigo


<?php include ("conexion.php"); ?>

<?php

$nombre = $_POST['nombre'];
$edad = $_POST['edad'];

$query = "INSERT INTO personas (nombre,edad) VALUES('$nombre','$edad')";
mysql_close();

?>

espero me ayuden
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

undefined index insert

Publicado por xve (6935 intervenciones) el 23/08/2012 20:47:11
Hola Zerox, pero aunque de el error, inserta el registro?
Nos puedes mostrar la estructura de la tabla?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

undefined index insert

Publicado por ZEROX (35 intervenciones) el 23/08/2012 21:25:35
Hola si mira mejore el codigo ahora ya hace el insert, pero lo inserta vacio, y encuentro a lo del error era un notice y en otro lado lei como ocultar los mensajes de tipo notice ahora solo tengo el problema que hace un insert vacio

este es el nuevo codigo php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php include ("conexion.php"); ?>
 
<?php
 
$nombre = $_POST['nombre'];
 
$sql="INSERT INTO personas (chrPersona, intEdad)
VALUES('$_POST[nombre]','$_POST[edad]')";
 
if (!mysql_query($sql,$link))
  {
  die('Error: ' . mysql_error());
  }
  $result = mysql_query($sql);
 
 
echo "1 record added";
mysql_close($link);
?>

ahora la estructura de mi tabla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form action="insert.php" class="block-content form" method="get">
						<fieldset>
							<legend>Datos Cliente</legend>
							<div class="_50">
								<p><label for="textfield1">Nombre</label><input type="text" name="nombre" value=""/></p>
							</div>
 
							<div class="_50">
								<p><label for="textfield2">Edad</label><input type="text" name="edad" value=""/></p>
							</div>
 
						</fieldset>
 
						<div class="block-actions">
							<ul class="actions-left">
								<li><a class="close-toolbox button red" href="javascript:void(0);">Reset</a></li>
							</ul>
							<ul class="actions-right">
								<li><input type="submit" name="guardar" value="Guardar" /></li>
							</ul>
						</div>
					</form>

saludoss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

undefined index insert

Publicado por ferbal (80 intervenciones) el 24/08/2012 03:08:08
Hola Zerox, no es recomendable ocultar los mensjes que te tira php, por lo menos en desarrollo, ya que aunque funcione el script que haces, para algun caso en especial puede llegar a fallar y no sabras qué buscar para solucionarlo.
Respecto al problema que graba vacio, debe ser porque el formulario envia los datos por metodo GET y vos levantas las variables por metodo POST.
3 soluciones:
- cambiar el metodo por POST en el formulario (recomendada)
- Levantar las variables por GET (en vez de $_POST['nombre'] > $_GET['nombre'])
- o levantarlas por $_REQUEST (levanta todo lo que se pasa por GET o POST)

De necesitar que los valores esten visibles en la url, tendrias que usar cualquiera de las 2 ultimas.

Otra cosilla.
Deberias limpiar la linea $nombre = $_POST['nombre']; si no la usas en otra parte de tu codigo, ya que en el insert utilizas los POST

VALUES('$_POST[nombre]','$_POST[edad]')";

Espero sea solo eso el error,
Saludos,
Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

undefined index insert

Publicado por ZEROX (35 intervenciones) el 24/08/2012 23:13:54
Hola que tal tu respuesta si me sirivio de mucho
ahora me inserta el registro pero aparece duplicado el nuevo codigo quedo asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php include ("conexion.php"); ?>
 
<?php
$sql="INSERT INTO personas (chrPersona, intEdad)
VALUES('$_POST[nombre]','$_POST[edad]')";
 
if (!mysql_query($sql,$link))
  {
  die('Error: ' . mysql_error());
  }
  $result = mysql_query($sql);
 
echo "1 record added";
header("location:clientes.php");
mysql_close($link);
?>


y el method del form lo cmabie por POST

saludos espero me puedas responder
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

undefined index insert

Publicado por ferbal (80 intervenciones) el 24/08/2012 23:43:04
No tengo aqui para probarlo, pero fijate sacando esta linea $result = mysql_query($sql);
Supuestamente con la linea if (!mysql_query($sql,$link)) ya lo estas insertando.
Saludos,
Fernando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php include ("conexion.php"); ?>
 
<?php
$sql="INSERT INTO personas (chrPersona, intEdad)
VALUES('$_POST[nombre]','$_POST[edad]')";
 
if (!mysql_query($sql,$link)) //YA INSERTA LA QUERY
{
die('Error: ' . mysql_error());
}
$result = mysql_query($sql); // BORRAR
 
echo "1 record added";
header("location:clientes.php");
mysql_close($link);
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

undefined index insert

Publicado por ZEROX (35 intervenciones) el 27/08/2012 16:55:01
Bienn graciasss ya quedo eso

ahora disculpa molestarte con otra duda jejeje.....

ahora lo que quiero hacer es borrar un registro tengo un grid con todos los registros insertados

como seria en codigo, necesito obtener el id y como lo hago

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

undefined index insert

Publicado por ferbal (80 intervenciones) el 28/08/2012 18:54:34
Hola Zerox, tendria que ver bien el codigo que tenes.
La idea es la siguiente:
Si queres que la quiery se vea en la url, listas todos los registros y le agregas un link a una funcion que sea "eliminar". Si no queres que se muestr por url, tenes que hacerlo dentro de un form por medio del metodo POST".

Para el primer caso, haces la consulta para traer todos los registros y despues los imprimis con un bucle agregandoles el link <a href="archivo_con_funcion_eliminar.php?id=$id">eliminiar</a>

y en la funcion tenes que hacer la query para eliminar el registro segun el id.
"DELETE * FROM ... WHERE ID=$id LIMIT 1";


El id lo obtenes cuando haces la consulta para mostrar los registros. Haces el "SELECT * FROM ..." o seleccionas solo los campos que necesitas "SELECT id, otro_campo, otro_campo FROM ..."

Si me mostras el archivo donde imprimis el listado te puedo ayudar mejor.
Saludos,
Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

undefined index insert

Publicado por ZEROX (35 intervenciones) el 29/08/2012 15:50:08
Hola que tal

si claro mira

1
2
3
4
5
6
7
8
9
10
11
12
<?php
while($row = mysql_fetch_array($result)) {
 
	echo '<tr><td class=tdNegrita>'.$row["intIDPersona"].'</td>';
	echo '<td align=center class=tdNormal>'.$row["chrPersona"].'</td>';
	echo '<td align=center class=tdNormal>'.$row["intEdad"].'</td>';
	echo '<td align=center class=tdNegrita><a href=borrar.php'.$row["intIDPersona"].'><input type="submit" name="Eliminar" value="Eliminar" /></li></a></td>';
echo '<td align=center class=tdNegrita><a href=update.php'.$row["intIDPersona"].'><input type="submit" name="Eliminar" value="Modifica" /></li></a></td>';
													}
	mysql_free_result($result);
	mysql_close($link);//cierra la conexion
?>


haber si te sirve esto
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

undefined index insert

Publicado por Fernando Balderrama (80 intervenciones) el 30/08/2012 05:33:46
Hola Zerox, tenes mezcladas un par de cosas.
tenes el link a eliminar o Modificar y dentro un input que hace un submit para eliminar.
Deja solamente el link

echo '<td align=center class=tdNegrita><a href=borrar.php?id_persona='.$row["intIDPersona"].'>Eliminar</a></td>';
echo '<td align=center class=tdNegrita><a href=update.php?id_persona='.$row["intIDPersona"].'>Modificar</a></td>';

Y en los archivos borrar.php y update.php levantas la variable id_persona por GET

$id_persona = $_GET['id_persona'];

y ejecutas la query segun el caso DELETE o UPDATE

Si lo haces por post, tenes que dejar los input y borrar los links. O podes hacerlo con checkbox y al final un solo submit que envia el valor del checkbox.
En ese caso tendrias que enviar la seleccion a un archivo unico.php donde segun el caso (switch - case) elimines o modifiques
Avisa como te fue
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

undefined index insert

Publicado por ZEROX (35 intervenciones) el 05/09/2012 16:20:09
Hola que tal disculpa la tardanza, oye si me esta funcionando esto, solo me falta el modificar, el de
eliminar ese ya quedo, ahor amira par amodificar, lo que quiero hacer es lo siguiente

al dar en modificar en un registro que los campos de este se llenen en el formulario para su edicion despues edites los cmapos y con el boton modiificar ya se haga la actulizacion, para hacer esto como seria para pintar los valores

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar