He intentado hacer dos páginas de PHP para modificar el registro. El cliente quiere hacer como, seleccionar un producto dentro de una tabla, pulsamos Modificar producto para cambiar los datos de un registro dentro de un formulario de otra página de PHP. He revisado todo, pienso está bien todo correctamente, sigue fallandome porque no me actualiza el registro. No encuentro el error, ayudame a solucionar y os permito que modificáis en el code? Es para este miércoles. Por favor y Gracias...
1º. Este archivo es para seleccionar un producto para modificarlo...(productos_modificar.php)
Código:
2º. Este archivo es para modificar en formulario (En el campo, que me salga el valor que hayas elegido el producto para modificarlo por ejemplo "Nombre: Jazmín")...(productos_cambiar.php)<?PHP session_start (); ?> <HTML LANG="es"> <HEAD> <TITLE>Modificar productos</TITLE> </HEAD> <BODY> <?PHP if (isset($_SESSION["usuario_valido"])) { ?> <H1>Productos</H1> <H2>Modificar el producto</H2> <?PHP $conexion = mysqli_connect ("mysql.hostinger.es", "u624010536_jardi", "****", "u624010536_jardi"); $instruccion = "select CodigoProducto,Nombre,Descripcion,Gama FROM Productos"; $consulta = mysqli_query ($conexion, $instruccion); $nfilas = mysqli_num_rows ($consulta); if ($nfilas > 0) { print ("<FORM ACTION='productos_cambiar.php' METHOD='post'>\n"); print ("<TABLE>\n"); print ("<TR>\n"); print ("<TD>Código</TD>\n"); print ("<TD>Nombre</TD>\n"); print ("<TD>Descripción</TD>\n"); print ("<TD>Gama</TD>\n"); print ("<TD>Modificar</TD>\n"); print ("</TR>\n"); for ($i=0; $i<$nfilas; $i++) { $resultado = mysqli_fetch_array ($consulta); print ("<TR>\n"); print ("<TD>" . $resultado['CodigoProducto'] . "</TD>\n"); print ("<TD>" . $resultado['Nombre'] . "</TD>\n"); print ("<TD>" . $resultado['Descripcion'] . "</TD>\n"); print ("<TD>" . $resultado['Gama'] . "</TD>\n"); print ("<TD><INPUT TYPE='RADIO' NAME='modificar[]' VALUE='" .$resultado['CodigoProducto'] . "'></TD>\n"); print ("</TR>\n"); } print ("</TABLE>\n"); print ("<P><INPUT TYPE='SUBMIT' NAME='modificar' VALUE='Modificar producto'></P>\n"); print ("</FORM>\n"); } else print ("No hay productos disponibles"); mysql_close ($conexion); print ("<P>[ <A HREF='login.php'>Menú principal</A> ]</P>\n"); } else { print ("<BR><BR>\n"); print ("<P ALIGN='CENTER'>Acceso no autorizado</P>\n"); print ("<P ALIGN='CENTER'>[ <A HREF='login.php' TARGET='_top'>Conectar</A> ]</P>\n"); } ?> </BODY> </HTML>
Código:
<?PHP session_start (); ?> <HTML LANG="es"> <HEAD> <TITLE>Modificar productos</TITLE> </HEAD> <BODY> <?PHP if (isset($_SESSION["usuario_valido"])) { $modificar = $_REQUEST['modificar']; $CodigoProducto = $_REQUEST['CodigoProducto']; $Nombre = $_REQUEST['Nombre']; $Descripcion = $_REQUEST['Descripcion']; $Gama = $_REQUEST['Gama']; $error = false; if (isset($modificar)) { if (trim($Nombre) == "") { $errores["Nombre"] = "¡Debe introducir el nombre del producto!"; $error = true; } else $errores["Nombre"] = ""; if (trim($Descripcion) == "") { $errores["Descripcion"] = "¡Debe introducir el descripción del producto!"; $error = true; } else $errores["Descripcion"] = ""; } if (isset($modificar) && $error==false) { $conexion = mysqli_connect ("mysql.hostinger.es", "u624010536_jardi", "****", "u624010536_jardi"); $instruccion = "select * from Productos where CodigoProducto = $modificar[$i]"; $consulta = mysqli_query ($conexion, $instruccion); $instruccion = "update from Productos where CodigoProducto = $modificar[$i]"; mysqli_close ($conexion); print ("<H1>Productos</H1>\n"); print ("<H2>Resultado de la modificación del producto</H2>\n"); print ("<P>El producto ha sido modificado correctamente:</P>\n"); print ("<UL>\n"); print (" <LI>Nombre: " . $Nombre . "\n"); print (" <LI>Descripción: " . $Descripcion . "\n"); print (" <LI>Gama: " . $Gama . "\n"); print ("</UL>\n"); print ("<P>[ <A HREF='productos_modificar.php'>Modificar otro producto</A> | "); print ("<A HREF='login.php'>Menú principal</A> ]</P>\n"); } else { ?> <H1>Productos</H1> <H2>Modificar el producto</H2> <FORM CLASS="borde" ACTION="productos_cambiar.php" NAME="modifica" METHOD="POST" ENCTYPE="multipart/form-data"> <P> <LABEL>Nombre: *</LABEL> <INPUT TYPE="TEXT" NAME=Nombre SIZE="50" MAXLENGTH="50" <?PHP if (isset($modificar)) print ("VALUE='$Nombre'>\n"); else print (">\n"); if ($errores["Nombre"] != "") print ("<BR><SPAN CLASS='error'>" . $errores["Nombre"] . "</SPAN>"); ?> </P> <P> <LABEL>Descripción: *</LABEL> <TEXTAREA COLS="45" ROWS="5" NAME=Descripcion" <?PHP if (isset($modificar)) print ("VALUE='$Descripcion'>\n"); print ("$Descripcion"); print ("</TEXTAREA></P>"); if ($errores["Descripcion"] != "") print ("<BR><SPAN CLASS='error'>" . $errores["Descripcion"] . "</SPAN>"); ?> <P> <LABEL>Gama:</LABEL> <SELECT NAME="Gama"> <OPTION SELECTED>Aromáticas <OPTION>Frutales <OPTION>Herramientas <OPTION>Ornamentales </SELECT> </P> </P> <BR> <P> <INPUT TYPE="SUBMIT" NAME="modificar" VALUE="Modificar producto"> </P> </FORM> <P>NOTA: los datos marcados con (*) deben ser rellenados obligatoriamente</P> <P>[ <A HREF='login.php'>Menú principal</A> ]</P> <?PHP } } else { print ("<BR><BR>\n"); print ("<P ALIGN='CENTER'>Acceso no autorizado</P>\n"); print ("<P ALIGN='CENTER'>[ <A HREF='login.php' TARGET='_top'>Conectar</A> ]</P>\n"); } ?> </BODY> </HTML>