Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2006, 13:06
Faser
 
Fecha de Ingreso: noviembre-2002
Mensajes: 130
Antigüedad: 21 años, 5 meses
Puntos: 0
Borrado de los campos al enviar el form

Tengo el siguiente problema. Estoy realizando una gestión de administración para añadir nuevos cursos. Hago la validación y mediante javascript me salta el error si falta algún campo. Hasta aquí bien.
El problema viene cuando hago la validación en el Upload del fichero (quiero que este sea en formato pdf), y lo especifico.
Si todo es correcto me lo valida y perfecto. Hace el INSERT en la BD y ningún problema.
Pero si comprueba que hay error y se ha subido un fichero con extensión distinta a pdf y quiero regresar al formulario todos los campos se han borrado.

Sabrian como solucionar este problema.
Han de saber que todo se realiza en la misma página.
Les envio el codigo algo recortado para que se lo miren. Pero creo que lo más importante esta puesto
Un saludo



Código PHP:
<? include ('../includes/config.php'); ?>
<html>
<head>
<SCRIPT language=JavaScript>
function validar() {
//comprovamos los campos que esten llenos
if (document.formName.Codi.value == "") {alert("Introduzca un valor en el campo 'CÓDIGO DEL CURSO'"); formName.Codi.focus();return (false);}
if (document.formName.NomCas.value == "") {alert("Introduzca un valor en el campo 'NOMBRE'"); formName.NomCas.focus();return (false);}
if (document.formName.IdTipo.value == "") {alert("Introduzca un valor en el campo 'TIPOS DE CURSO'"); formName.IdTipo.focus();return (false);}
return(true);
}
</SCRIPT>
</head>
<body>
<? include("cabecera.php"); 
if (!empty(
$HTTP_POST_VARS[enviado])) {
$Codi $HTTP_POST_VARS['Codi'];
$Nom $HTTP_POST_VARS['Nom'];

... 
aquí el resto de campos
$pdf
=$HTTP_POST_FILES['pdf']['name'];
$tipo_archivo $HTTP_POST_FILES['pdf']['type']; 
$tamano_archivo $HTTP_POST_FILES['pdf']['size'];

if (!((
strpos($tipo_archivo"pdf")) && ($tamano_archivo 500000))) { 
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten únicamente archivos .pdf<br><li>Se permiten archivos de 500 Kb como máximo.</td></tr></table>"
    echo(
"<br /><a class='date' href='javascript:history.back()'>&iquest;VOLVER A INTERTARLO</a>");
}else{ 
    if (
is_uploaded_file($HTTP_POST_FILES['pdf']['tmp_name'])){
    
copy($HTTP_POST_FILES['archivo1']['tmp_name'], "galeria/".$HTTP_POST_FILES['pdf']['name']);
    echo 
"El archivo ha sido cargado correctamente.";
    
$sql=("insert into cursos (Codi, Nom......aquí el resto) values ('$Codi', '$Nom', .... aquí el resto)");

    }else{ 
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse"
    } 


?>

<form method="POST" enctype="multipart/form-data" name="Formulari">
<input name="Codi" type="text" id="Codi" value="" size="20">
<input name="Nom" type="text" id="Nom" size="50">
<input type="file" name="pdf">
[... hasta el final de campos]
<a href="javascript:document.Formulari.submit()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image28','','imatges/b_guardaralta_r.gif',1)" onClick="return validar()"><img src="imatges/b_guardaralta.gif" name="Image28" width="150" height="16" border="0"></a></span>
                    <input name="enviado" type="hidden" value="Guardar">

</form>
</body>
</html>