Foros del Web » Programando para Internet » PHP »

Error al modificar registro

Estas en el tema de Error al modificar registro en el foro de PHP en Foros del Web. Saludos amigos del foro, de nuevo por aquí molestando… espero me puedan ayudar en el siguiente error que tengo … EL siguiente código muestra un ...
  #1 (permalink)  
Antiguo 13/12/2012, 16:17
 
Fecha de Ingreso: agosto-2010
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Error al modificar registro

Saludos amigos del foro, de nuevo por aquí molestando… espero me puedan ayudar en el siguiente error que tengo …
EL siguiente código muestra un formulario que consulta los datos de una tabla en una base de datos, y luego permite modificarlos con UPDATE
Si se logra mostrar el formulario pero cuando quiero modificar me sale el siguiente error

////
Notice: Undefined index: id in C:\xampp\htdocs\web\usuar\modificar.php on line 14
No fué posible realizar la operación solicitada id
Zona USUARIOS ... Modificar recetas
/////

codigo


<?php


// Realizamos la conexión al servidor
require("../conexion2.php");
$link=Conectarse();
if(isset($_POST["submit"])){
$query = "UPDATE recetaprov SET usuar= ".$_POST["usuar"]."', nombre='".$_POST["nombre"]."',imgen='".$_POST["imagen"]."', ingredientes='".$_POST["ingredientes"]."'WHERE id='".$_POST["id"]."'";
$result=mysql_query($query,$link) or die("Error: ".mysql_error());
echo "Se han modificado los datos del usuario ".$id;
exit;
}else{

$id=$_GET['id'];
$query="SELECT * FROM recetaprov WHERE id='".$id."'";
$result=mysql_query($query,$link) or die("Error: ".mysql_error());
if(mysql_num_rows($result) > 0){
while($Rs=mysql_fetch_array($result))
{
?>

<style type="text/css">
<!--
#Layer1 {
position:absolute;
width:568px;
height:115px;
z-index:1;
left: 114px;
top: 106px;
}
#Layer2 {
position:absolute;
width:200px;
height:115px;
z-index:2;
left: 270px;
top: 9px;
}
-->
</style>
</head>
<body>


<div id="Layer1">
<form id="form1" name="form1" method="post" action="modificar.php" enctype="multipart/form-data">

</p>
<p>Nombre:
<input name="nombre" type="text" id="nombre" value="<?php echo $Rs['nombre']; ?>" />
</p>
<p>Ingredientes:
<textarea name="ingredientes" cols="50" rows="10" id="ingredientes"><?php echo $Rs['ingredientes']; ?></textarea>
</p>
<p>Seleccione la Imagen:
<input type="file" name="imagen" value="<?php echo $Rs['imagen']; ?>"/>
</p>
<p>
<input type="submit" name="Aceptar" id="Aceptar" value="Guardar" />
</p>
<p>&nbsp;</p>
</form>

<?php } }else{ echo "No fué posible realizar la operación solicitada id ".$id; } } // Cerramos la conexión mysql_close($link); ?></div>

</p>
<div id="Layer2">Zona USUARIOS ... Modificar recetas</div>
</body>
</html>



Me da error en el GET Id .. si lo borro me manda el mismo error pero ahora no me deja ver el formulario
  #2 (permalink)  
Antiguo 13/12/2012, 16:30
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Respuesta: Error al modificar registro

bueno papa el GET quiere decir que pasaste una variable por URL si te sale ese error es xq no hay ninguna variable por URL con el nombre id, revisa si es asi como se llama o tiene otro nombre, y revisa si el archivo donde llamas a ese modificar.php, esta enviando bien el dato...
  #3 (permalink)  
Antiguo 13/12/2012, 17:06
 
Fecha de Ingreso: agosto-2010
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Error al modificar registro

De hecho si mando el id atreves de un href , por lo cual al principio si me muestra la consulta ósea todo lo que esta después del else, pero cuando envió el formulario a sí mismo para que se ejecute el if es cuando me da el error ósea no pasa por el update, y el error se muestra porque ya no recibe el href del id…. Pero entonces que estoy haciendo mal

Gracias por tu respuesta
  #4 (permalink)  
Antiguo 14/12/2012, 08:57
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Respuesta: Error al modificar registro

Bueno no entendi mucho pero segun veo en el mismo archivo que COnsultas, en ese mismo archivo editas, trata de usar las TAG para colocar el codigo es mas facil leerlo, ahora bien veo que tienes un form donde muestras los datos de una consulta, y luego que le das al boton "GUARDAR" que es el que actualiza, si revisamos el codigo de la consulta de tienes:

Código PHP:
Ver original
  1. if(isset($_POST["submit"])){
y creo que tu boton se llama es "Aceptar"
Código PHP:
Ver original
  1. <input type="submit" name="Aceptar" id="Aceptar" value="Guardar" />
entonces ya por ali ese if jamas dara TRUE, debe de quedar asi:
Código PHP:
Ver original
  1. if(isset($_POST["Aceptar"])){

Luego el query que actualiza es este:
Código PHP:
Ver original
  1. $query = "UPDATE recetaprov SET usuar= ".$_POST["usuar"]."', nombre='".$_POST["nombre"]."',imgen='".$_POST["imagen"]."', ingredientes='".$_POST["ingredientes"]."'WHERE id='".$_POST["id"]."'";
de aqui te digo donde envias por formulario usuar? ".$_POST["usuar"]." porque en tu formulario no estas mostrando esa variable, y en el Where, tienes ".$_POST["id"]." y tu id nunca lo muestras en el formulario por lo tanto como lo vas a enviar?
Como ya tienes el ID capturado por get
Código PHP:
Ver original
  1. $id=$_GET['id'];
la consulta deberia de quedar:
Código PHP:
Ver original
  1. $query = "UPDATE recetaprov SET usuar= ".$_POST["usuar"]."', nombre='".$_POST["nombre"]."',imgen='".$_POST["imagen"]."', ingredientes='".$_POST["ingredientes"]."'WHERE id='".$id."'";

te repito usas las TAG de los codigos para poder verlos mejor e interpretarlos, segundo estas usando POST['usuar'] pero en el form no lo estas manejando, si es una variable de Session usa $_SESSION, si no deberas crear esa variable y asignarle un valor...

Espero haberte ayudado...

PD: para evitar el Warning de "Undefine index ID" yo suelo hacer esto en mis variables GET:
Código PHP:
Ver original
  1. $id="-1";
  2. if(isset($_GET['id']))
  3. {
  4.     $id=$_GET['id'];                                       
  5. }
Le asigno, un valor neutral "-1" para que ID tenga un valor, luego pregunto si el GET['ID'] fue enviado le asigne ese valor a $id

Última edición por JuJoGuAl; 14/12/2012 a las 09:04

Etiquetas: modificar, registro, update
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 15:19.