Hola, de nuevo consultadolos...
El nuevo problema con el que me enfrento es que tengo mi codigo con HEREDOC, entonces en la parte de modificar y en la parte de agregar nuevo registro si se deja un campo en blanco o hay algun error de captura manda el mensaje del error pero me borra toda la informacion que ya tenia y se tienen que volver a capturar, necesito que mande el error pero que la informacion se quede para no volverla a capturar, talvez solo borre la parte del error, trate de utilizar una opcion de validacion pero con javascript, el problema es que no se en donde meter el codigo, ya hice pruebas por todos lados y nadamas no lo respeta. les pongo parte de mi codigo para que se den una idea. Creo que puede funcionar corrigiendo algo directamente (que no se que es) o con la idea del javascript. Si tienen alguna sugerencia o correccion se los agradecere.
... estas son las funciones que en un html, funcionan bien
<script language="javascript" type="text/javascript" >
function check_valid(form){
var error="";
error += verify_nombre(form.esquemanombre.value, '', 0);
error += verify_esfedi(form.nuevafe.value);
if (error != ""){
alert(error);
return false;
}
return true;
}
</script>
<script language="javascript" type="text/javascript">
function verify_nombre(campo, caract_extra, nulo) {
var error="";
if (campo == "") {
error="El NOMBRE no puede quedar vacio.\n";
.... quito el codigo para que este abreviado
contador++
} else {
error= "ERROR: No se acepta el caracter '" + ubicacion + "', el NOMBRE solo puede contener letras.\n"
return error;
}
}
return error; }
function verify_esfedi(Cadena) {
var error="";
var Fecha= new String(Cadena) // Crea un string
if (!(Cadena.length==10)) {
error="La FECHA debe estar en formato DD/MM/AAAA, y debe contener 10 caracteres.\n";
.... aqui mas codigo que quito
if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
if (Mes==2 && Dia > 28 || Dia>30) {
error= "Dia inválido. Verificar la FECHA. \n";
return error;
}
}
return error;
}
</script>;
<?
require("aut_verifica.inc.php");
$nivel_acceso=3;
if ($nivel_acceso < $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
require ("aut_config.inc.php");
$pag=$_SERVER['PHP_SELF'];
.... quito codigo
if ($_GET['accion']=="nuevo"){
cabeceraHTML();
echo <<< HTML
<img src="FONDOS/logo.jpg" width="1016" height="60" /><BR>
<form method="post" action="$PHP_SELF?accion=hacernuevo" onsubmit="return check_valid(this)" >
<table width="500" border="1" cellspacing="0" cellpadding="4" align="center">
<tr>
<td colspan="2" height="30" bgcolor="#115A7A">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
.... hago la el formulario
if ($_GET['accion']=="hacernuevo"){
$fecha=$_POST['fecha'];
$nombre=$_POST['esquemanombre'];
$descripcion=$_POST['descripcion'];
// ***Validar el Nombre ***
if (ereg("[0-9]", trim($nombre))) {
header ("Location: $pag?accion=nuevo&error=5");
exit;
}
// ***valida dia mes y año ****
if (!ereg("(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)[0-9]{2}", $fecha)){
header ("Location: $pag?accion=nuevo&error=6");
exit;
}
... y esta parte valida y me manda el error, quisiera que aqui no me borrara lo demas.