Utilizo solo un formulario en donde depende de la accion =(Modifica o Nuevo) realizo las validaciones según el caso. Utilizo javascript para asegurarme de que los campos que son requeridos sean ingresados.
Pero es ahi donde viene cómo puedo hacer para que a la hora de ingresar al método (Nuevo, Modifica) si hay algun error no me borre todos los datos del formulario que ya se ingresaron por el error, he tratado de utilizar el $_POST según el método y que lo mande a cada campo, pero no me funciona..
Aquí pongo el código:
Código HTML:
<table width="800" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="2"> </td> </tr> <tr> <td></td> <td><div align="right">* Datos requeridos por el sistema</div></td> </tr> <tr> <td colspan="2"> <form id="frmusuario" name="frmusuario" method="post" action="<?php if($_GET['accion']=="mostrar"){print "$PHP_SELF?accion=modifica";}else{print "$PHP_SELF?accion=hacernuevo";} ?>"> <table width="561" height="190" align="center" cellpadding="0" cellspacing="4" class="box" > <tr> <td width="551" height="180"><table width="483" align="center" cellpadding="0" cellspacing="0"> <tr> <td>Nombre</td> <td><label> <input name="nomcon" type="text" class="INPUT" id="nomcon" value="<? echo $nomcon?>" size="45" maxlength="30"/> *</label></td> </tr> <tr> <td>Apellido</td> <td><label> <input name="apecon" type="text" class="INPUT" id="apecon" value="<? echo $apecon?>" size="45" maxlength="30"/> *</label></td> </tr> <tr> <td>Correo electrónico</td> <td><label> <input name="dircor" type="text" class="INPUT" id="dircor" value="<? echo $dircor?>" size="45" maxlength="50"/> *</label></td> </tr> <tr> <td width="183">Usuario</td> <td width="298"><label> <input name="ideusu" type="text" class="INPUT" id="ideusu" value="<? echo $ideusu?>" size="30" maxlength="20" /> *</label></td> </tr> <tr> <td>Contraseña</td> <td><label> <input name="conusu" type="password" class="INPUT" id="conusu" value="<? echo $conusu?>" size="30" maxlength="20" /> *</label></td> </tr> <tr> <td>Confirmar contraseña</td> <td><label> <input name="conusu2" type="password" class="INPUT" id="conusu2" value="<? echo $conusu?>" size="30" maxlength="20"/> *</label></td> </tr> <tr> <td>Nivel</td> <td><label> <select name="nivusu" id="nivusu" class="select"> <option value="1">Administrador</option> <option value="2">Usuario</option> </select> </label></td> </tr> <tr> <td> </td> <td><div align="right"> <input name="codusu" type="hidden" id="codusu" value="<? echo $codusu ?>" /> <input type="button" name="enviar" id="enviar" value="Aceptar" class="button" onClick="javascript:validate();" /> <input name="limpiar" type="reset" class="button" id="limpiar" value="Limpiar" /> </div></td> </tr> </table></td> </tr> </table> <div align="center"><span class="mensaje"> <?php echo $error_accion_ms[$error_cod]; ?> </span></div> </form> </td> </tr> <tr> <td colspan="2" class="normal"><h3>Usuarios del sistema</h3></td> </tr> <tr> <td colspan="2"><table width="773" height="50" align="center" cellpadding="0" cellspacing="4" class="box" > <tr> <td width="763" height="40"><table width="779" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="60" class="boxtitle">Modificar</td> <td width="49" class="boxtitle">Eliminar</td> <td width="228" class="boxtitle">Nombre</td> <td width="195" class="boxtitle">Correo electrónico</td> <td width="106" class="boxtitle">Usuario</td> <td width="70" class="boxtitle">Nivel</td> <td width="69" class="boxtitle">Creación</td> </tr> <?php while($resultados = mysql_fetch_array($usuario_consulta)) { ?> <tr> <td><div align="center"><?php print "<a href=\"$pag?accion=mostrar&id=$resultados[codusu]\">"; ?><img src="img/modificar.gif" alt="Modificar" width="20" height="20" border="0" class="img"/ ></div></td> <td><div align="center"><?php print "<a href=\"$pag?accion=borrar&id=$resultados[codusu]\">"; ?><img src="img/eliminar.gif" alt="Eliminar" width="20" height="20" border="0" class="img"/></a></div> </td> <td><?php echo $resultados[nomusu];?></td> <td><?php echo $resultados[dircor];?></td> <td><?php echo $resultados[ideusu];?></td> <td><?php echo $resultados[nivusu];?></td> <td><?php echo $resultados[feiusu];?> <div align="right"></div></td> </tr> <?php }//fin del while de la consulta de usuarios mysql_free_result($usuario_consulta); ?> </table></td> </tr> </table></td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"> </td> </tr> </table>
Código PHP:
// 3. Método que modifica registros de usuarios de la base de datos
if ($_GET['accion']=="modifica"){
$post_codusu=$_POST['codusu'];
$post_nomcon=$_POST['nomcon'];
$post_apecon=$_POST['apecon'];
$post_dircor=$_POST['dircor'];
$post_ideusu=$_POST['ideusu'];
$post_conusu=$_POST['conusu'];
$post_conusu2=$_POST['conusu2'];
$post_nivusu=$_POST['nivusu'];
if ($post_nomcon=="" or $post_apecon=="" or $post_dircor=="" or $post_ideusu=="" or $post_conusu=="" or $post_conusu2=="") {
header ("Location: $pag?error=1");
exit;
}
mysql_query("UPDATE $tabla_usudat SET ideusu='$post_ideusu', conusu='$post_conusu', nivusu='$post_nivusu' WHERE codusu=$post_codusu") or die(mysql_error());
mysql_close ();
header ("Location: $pag");
exit;
}
// 3. Método que inserta registros de usuarios de la base de datos
if ($_GET['accion']=="hacernuevo"){
$post_codusu=$_POST['codusu'];
$post_nomcon=$_POST['nomcon'];
echo $post_nomcon;
$post_apecon=$_POST['apecon'];
$post_dircor=$_POST['dircor'];
$post_ideusu=$_POST['ideusu'];
$post_conusu=$_POST['conusu'];
$post_conusu2=$_POST['conusu2'];
$post_nivusu=$_POST['nivusu'];
if ($post_nomcon=="" or $post_apecon=="" or $post_dircor=="" or $post_ideusu=="" or $post_conusu=="" or $post_conusu2=="") {
header ("Location: $pag?error=1");
exit;
}
if ($post_codusu != $post_codusu2){
header ("Location: $pag?error=2");
exit;
}
$usuarios_consulta = mysql_query("SELECT codusu FROM $tabla_usudat WHERE ideusu='$post_ideusu'") or die(mysql_error());
$total_encontrados = mysql_num_rows ($usuarios_consulta);
mysql_free_result($usuarios_consulta);
if ($total_encontrados != 0) {
header ("Location: $pag?error=4");
exit;
}
$post_ideusu=stripslashes($post_ideusu);
$post_conusu = md5($pconusu);
mysql_query("INSERT INTO $tabla_usudat values('','$post_ideusu','$post_conusu','$post_nivusu')") or die(mysql_error());
mysql_close();
header ("Location: $pag");
exit;
}
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)