tengo esta dudilla
tengo una pagina en la cual modifico valores, para esto tengo una pagina buscar.php que es la que le manda el parametro del id a mi pagina modificar.php, el caso es que imprimo los valores actuales del producto en un form, el problema viene al hacer las validaciones de los campos nuevos, y esq valido que no haya campos vacios, etc. en la misma pagina, entonces cuando me manda el mensaje que no he puesto algo bien me regresa al form pero éste ya no conserva los valores que estaban. espero haberme explicado. Lo que quiero es que al regresar del mensajito de error los campos sigan teniendo los valores actuales del producto. Aqui dejo el codigo:
Código PHP:
<?php
include "conexion.php";
//llega la id de la pagina buscar.php
$id_producto=$_REQUEST['id_producto'];
$accion=$_GET["accion"];
$nombre_producto = $_POST["nombre_producto"];
$descripcion = $_POST["descripcion"];
$categoria = $_POST["categoria"];
$existencias = $_POST["existencias"];
$precio_venta = $_POST["precio_venta"];
$precio_compra = $_POST["precio_compra"];
if (!isset($accion)){
$result=mysql_query("SELECT id_producto, nombre_producto, id_categoria, descripcion, existencias, precio_venta, precio_compra FROM productos WHERE id_producto='$id_producto'");
$row=mysql_fetch_row($result); //imprimo los valores actuales en el sig form
echo"
<form name='form1' action='modificar.php?accion=guardar' method='POST'>
<table cellpadding='5' cellspacing='10'>
<tr>
<td>
<p>Nombre:
</td>
<td>
<input type='text' value='$row[1]' name='nombre_producto' size='40' maxlength='40'>
</td>
</tr>
<tr>
<td>
<p>Descripción:
</td>
<td>
<input type='text' value='$row[3]' name='descripcion' size='40' maxlength='100'>
</td>
</tr>
<tr>
<td>
<p>Categoría:
</td>
<td>
<select name='categoria' id='categoria'>
<option>$row[2]</option>
<option value='1'>Artesanías</option>
<option value='2'>Ropa</option>
<option value='3'>Souvenir</option>
<option value='4'>Accesorios</option>
</select>
</p>
</td>
</tr>
<tr>
<td>
<p>Existencia:
</td>
<td>
<input type='text' value='$row[4]' id='existencias' name='existencias' size='10' maxlength='5' >
</p>
</td>
</tr>
<tr>
<td>
<p>Precio de Venta:
</td>
<td>
<input type='text' value='$row[5]' id='precio_venta' name='precio_venta' size='10' maxlength='10'>
</p>
</td>
</tr>
<tr>
<td>
<p>Precio de Compra:
</td>
<td>
<input type='text' value='$row[6]' id='precio_compra' name='precio_compra' size='10' maxlength='10'>
</p>
</td>
</tr>
</table>
<br><br>
<input type='hidden' name='id_producto' value='$row[0]'>
<input type='submit' value='Guardar'>
</form>";
}elseif($accion=="guardar"){ //empiezan validaciones
if($nombre_producto==NULL|$descripcion==NULL|$existencias==NULL|$precio_venta==NULL|$precio_compra==NULL) {//1
echo "<script type=\"text/javascript\">
alert('Hay uno o más campos vacíos');
</script>";
echo "<meta http-equiv=Refresh content=\"1 ; url=modificar.php\">";
}
else{//1
//se comprueba que efectivamente sea una descripción
if (strlen($descripcion) < "10") { // if2
echo "<script type=\"text/javascript\">
alert('El campo Descripciòn debe tener al menos 10 caracteres');
</script>";
echo "<meta http-equiv=Refresh content=\"1 ; url=modificar.php\">";
}//cierra if1
... //las demás validaciones
else{//#
//modifico datos si todo resulto bien con las validaciones
$result ="UPDATE productos SET nombre_producto='$nombre_producto' , descripcion='$descripcion' , id_categoria='$categoria' , existencias='$existencias' , precio_venta='$precio_venta' , precio_compra='$precio_compra' WHERE id_producto = '$id_producto' ";
$actual=mysql_query($result) or die(mysql_error());
echo "<script type=\"text/javascript\">
alert('El producto: \' $nombre_producto \' ha sido actualizado de manera satisfactoria.');
</script>";
echo "<meta http-equiv=Refresh content=\"1 ; url=secmod.php\">";
}//1
}//#
}//if
...
?>