| |||
Mantener el contenido en un formulario tengo la siguiente inquietud: Tengo un formulario donde ese ingresa datos de un beneficiario cuando envio los datos atravez de un boton submit este me validad los cambos y si no es valido me recarga la pagina. Como hago para que no me borre los datos digitados en los campos de texto y me permitan modificar solo aquellos donde deseo cambiar la informacion. Este es el codigo: if($siguiente == "") { ?> <?php }else do{ if($numdoc == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Numero documento es de tipo Obligatorio"); </script> <?php }else if ($planilla == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Planilla es de tipo Obligatorio"); </script> <?php }else if ($nit == "" ){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Nit es de tipo Obligatorio"); </script> <?php }else if ($anolapso == "" ){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Año Lapso es de tipo Obligatorio"); </script> <?php }else if ($meslapso == "" ){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Mes Lapso es de tipo Obligatorio"); </script> <?php }else if ($indcu == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo C.U es de tipo Obligatorio"); </script> <?php }else if ($anodoc == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Año fecha documento es de tipo Obligatorio"); </script> <?php }else if ($mesdoc == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Mes fecha documento es de tipo Obligatorio"); </script> <?php }else if ($diadoc == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Dia fecha documento es de tipo Obligatorio"); </script> <?php }else if ($vrdoc == "" ){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Valor documento es de tipo Obligatorio"); </script> <?php }else if ($detadoc == ""){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El campo Detalle documento es de tipo Obligatorio"); </script> <?php }else if ($anolapso <> $anodoc){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El año Lapso - año Fecha Documento deben ser iguales"); </script> <?php }else if ($meslapso <> $mesdoc){ ?> <script> location="ingresarcegreso.php"; alert ("Error: El mes Lapso - mes Fecha Documento deben ser iguales"); </script> <?php } // Fin del if }while($numdoc == "" or $planilla == "" or $nit == "" or $anolapso == "" or $meslapso == "" or $indcu == "" or $anodoc == "" or $mesdoc == "" or $diadoc == "" or $vrdoc == "" or $detadoc == "" or $anolapso <> $anodoc or $meslapso <> $mesdoc); // Fin while //------------------------------------------------------------------------------------------------------- //Consulta que muestra los datos del formulario Ingresar Comprobante de Egreso if($siguiente == "Siguiente"){ $conn = conectar(); // Llama a la funcion de conexion a la BD $sql1 = ("select numdoc from documento where numdoc = $numdoc"); $respu1 = mysql_query($sql1); $res1 = mysql_num_rows($respu1); $sql2 = ("select b.nit from beneficiario b, documento d where b.nit = d.nit && b.nit = $nit"); $respu2 = mysql_query($sql2); $res2 = mysql_num_rows($respu2); if($res1 > 0) { ?> <script> location="ingresarcegreso.php"; alert ("ERROR: El Documento ya existe en la Base de Datos"); </script> <?php }else if($res2 == 0){ ?> <script> location="ingresarcegreso.php"; alert ("ERROR: El Nit o CC ingresado no existe en la BD"); </script> <?php }else if($res1 == 0) { $sql1 = "insert into documento (numdoc,tipo,planilla,anolapso,meslapso,nit,indcu, anodoc,mesdoc,diadoc,vrdoc,detadoc,descripuser) values ('$numdoc', 'CP', '$planilla', '$anolapso', '$meslapso', '$nit', '$indcu', '$anodoc', '$mesdoc', '$diadoc', '$vrdoc', '$detadoc', 'Oficina central')"; $respu1 = mysql_query($sql1); }//fin del else ?> <script> alert ("Contabilice las cuentas para el Comprobante"); location="ingresarcontabcegreso.php"; </script> <?php }//fin del if ?> Gracias por la colaboracion. |
| |||
Hola, para tu consulta se me ocurren 2 soluciones (seguro hay mas que 2) una es con una cookie cuando llega al script que valida los campos, los datos se carguen en una cookie y en el formulario te fijas si existe la cookie y rellenas si debe hacerlo, o exactamente lo mismo pero con sessiones. Pero ojo los datos guardados en la cookie's no tienen que ingresar directamente a la DB porque podria ser catastrofico , solamente se deben mostrar no ingresar. La proxima vez que hagas una consulta trata de usar los tag's para colorear el codigo PHP para que sea mas facil revisar el codigo. Saludos. |
| |||
Vaalegk no entendi.... Ahi envio todo el codigo completo del formualrio ... Me puedes colaborar. Código PHP: |
| ||||
Bueno... te puedo dar guias dado que es la mejor manera de entender el problema y solucionarlo, con lo que si te puedo colaborar directamente es con la validacion JS... http://xsite.identity-dev.com/testlab/jslib.js esta es una libreria JS que hice con funcionalidad que te puede servir en tus formas solo usa onSubmit="return jsValidateForm(this);" en tu forma y en los campos que deseas validar pon en el html los atributos validation="la_validacion_que_quieres" y validationMsg="Mensaje de error", ademas asegurate de ponerle un id a tu campo las validadiones disponibles son "empy" y "numeric" y "mail" estas con bien simples (invierto mi tiempo en otras partes de la libreria...) puedes registrar tus propias validaciones con jsRegisterFormValidator(nombre,tu_function); ejemplo de campo: <input id="campo1" name="campo1" validation="empty" validationMsg="Debes poner algo..."> por lo de PHP solo te digo que en vez de tener una redireccion por cada error, que almacenes ese error en una variable y que despues verificas a traves de una variable de estado si existio un error, si existio algun error redireccionar. el punto aqui es que la redireccion debe llevar de alguna manera los valores de tus campos ya sea como dijo DarioDario con cookies o sessiones o por la url. en todo caso en tu forma debes "recojer" estos valores ($_COKKIES,$_SESSION,$_GET) dependiendo de donde vienen y ponerlos en los values de tu forma.. ejemplo: Código PHP: |
| |||
Tienes un ejemplo practico No entiendo ese enredo tienes un ejemplo practico. Un ejercicio concreto de lo que dices donde apliques la forma de validar?. La verdad ya estoy extresado. Gracias. |
| ||||
bueno aqui hay algo... en esta direccion lo puede ver correr http://xsite.identity-dev.com/testlab/formtest.php el script es este(algo feo pero funciona) Código PHP: |