Foros del Web » Programando para Internet » Javascript »

subir archivos con PHP y funcion javascript no funcionan

Estas en el tema de subir archivos con PHP y funcion javascript no funcionan en el foro de Javascript en Foros del Web. Quiero subir archivos al servidor a traves de un formulario. Quiero ademas tener una función javascript que no me permita dejar campos en blanco. La ...
  #1 (permalink)  
Antiguo 07/10/2008, 09:18
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
subir archivos con PHP y funcion javascript no funcionan

Quiero subir archivos al servidor a traves de un formulario.

Quiero ademas tener una función javascript que no me permita dejar campos en blanco.

La parte de subir el archivo funciona perfectamente.

Pero no me funciona la funcion de javascript

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Subir Archivos</title>
</head>

<body>

	    <script type="text/javascript">
<!--
	      function checkForm(formu)
	      {
		    var error=false;
		    var mensaje="";
		
		    formu.btnAdd.disabled=true;
		    if (formu.formTitulo.value=="")
		    {
			  mensaje += '· Debe seleccionar una valor1\n';
			  error=true;
		    }
            if (error)
		    {
			  alert(mensaje);
			  formu.btnAdd.disabled=false;
			  return false;
		    }
		    else
		    {
			  return true;
		    }
	      }
-->
</script>

<?
	if (isset($_POST['submit'])) 
	{  
		  if(is_uploaded_file($_FILES['fichero']['tmp_name'])) 
		  { 
				// verifica haya sido cargado el archivo 
				if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) 
				{ 
					  // AQUI VA EL PROCESO DE GRABAR EN LA BASE DE DATOS EL RESTO DE LOS CAMPOS 
					  echo "<b>Upload exitoso!. Datos:</b><br>"; 
				} 
		  }
	}
?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" onSubmit="return checkForm(this);">
  <table>
    <tr>
      <td>
        Archivo: <input name="fichero" type="file">
      </td>
    </tr>
    <tr>
      <td>Titulo: <input type="text" name="formTitulo" value="" size="36"></td>
    </tr>
    <tr>
      <td>
        <input name="submit" type="submit" value="Upload!">
      </td>
    </tr>
  </table>  
</form> 

</body>

</html>
Donde esta el error ?

Última edición por SpiderNet; 07/10/2008 a las 13:10
  #2 (permalink)  
Antiguo 07/10/2008, 09:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Tema trasladado a Javascript.
  #3 (permalink)  
Antiguo 07/10/2008, 09:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Estás haciendo referencia a un elemento llamado "btnAdd" en tu documento que no existe.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 07/10/2008, 13:01
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Cita:
Iniciado por David el Grande Ver Mensaje
Estás haciendo referencia a un elemento llamado "btnAdd" en tu documento que no existe.
Por un lado tienes razon, corregi...

Código:
...
      <td>
        <input name="btnAdd" type="submit" value="Upload!">
      </td>

...
Ahora si funciona la parte del javascript pero no funciona la parte PHP para subir los archivos.


Y ahora?
Ser'a que puedes revisar este codigo correrlo en tu PC y decirme cual es el error.

Ya no se uqe probar.


Saludos!!!

Última edición por SpiderNet; 07/10/2008 a las 13:12
  #5 (permalink)  
Antiguo 07/10/2008, 19:15
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: subir archivos con PHP y funcion javascript no funcionan

S.O.S

alguien que me ayude

Please!!!
  #6 (permalink)  
Antiguo 08/10/2008, 03:39
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Prueba quitando el onsubmit del form y poniendo un onclick en el boton submit

Pienso que le tendrás que dar un name al <form>, p.e. name="formPrueba" para luego pasarlo a la función.

Código:
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="formPrueba">

......

<input name="submit" type="submit" value="Upload!" onclick="javascript: return checkForm(document.forms.formPrueba);">
Espero te funcione, no vi ningun fallo

Saludos
  #7 (permalink)  
Antiguo 08/10/2008, 05:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Cita:
Iniciado por matak Ver Mensaje
Prueba quitando el onsubmit del form y poniendo un onclick en el boton submit
...
¡No!... La validación es en el evento submit donde debe hacerse...

Seguro que has cambiado algo que no te permita subir los archivos... además, podría ahora ser un problema php...

Pon el código completo y lo veremos (has hecho algunos cambios...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 08/10/2008, 08:20
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Aqui esta el codigo completo

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Subir Archivos</title>
  <script type="text/javascript">
<!--
    function checkForm(formu)
    {
      var error=false;
      var mensaje="";

      formu.btnAdd.disabled=true;
      if (formu.formTitulo.value=="")
      {
        mensaje += '· Debe seleccionar una valor1\n';
        error=true;
      }
      if (formu.fichero.value=="")
      {
        mensaje += '· Debe seleccionar un archivo\n';
        error=true;
      }

      if (error)
      {
        alert(mensaje);
        formu.btnAdd.disabled=false;
        return false;
      }
      else
      {
        return true;
      }
    }
-->
  </script>

</head>

<body>

  <?
    if (isset($_POST['btnAdd'])) 
    {  
      if(is_uploaded_file($_FILES['fichero']['tmp_name'])) 
      { 
        // verifica haya sido cargado el archivo 
        if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) 
        { 
          // AQUI VA EL PROCESO DE GRABAR EN LA BASE DE DATOS EL RESTO DE LOS CAMPOS 
          echo "<b>Upload exitoso!</b><br>"; 
        } 
      }
    }
  ?>

  <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" onSubmit="return checkForm(this);">
    <table>
      <tr><td>Archivo: <input name="fichero" type="file"></td></tr>
      <tr><td>Titulo: <input type="text" name="formTitulo" value="" size="36"></td></tr>
      <tr><td><input name="btnAdd" type="submit" value="Upload!"></td></tr>
    </table>  
  </form> 

</body>

</html>
  #9 (permalink)  
Antiguo 08/10/2008, 08:44
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Ok Caricatos...si lo dices tu será lo que se debe hacer, algún motivo de seguridad o algo asi habrá. Le puse por que ami me funciona asi, lo único que yo no hago validación, simplemente por medio de un obj ajax introduzco a la session de php el valor de los campos que necesito y por otro lado subo el archivo.

Oye una cosa.En este caso¿Cual es la diferencia de hacerlo con un evento u otro y cual es el motivo de hacer la validación en el onsubmit?

Nunca esta demás saber hacer las cosas como se deben. a la larga se evitan problemas...

gracias y saludos
  #10 (permalink)  
Antiguo 08/10/2008, 08:47
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Cita:
Iniciado por matak Ver Mensaje
Ok Caricatos...si lo dices tu será lo que se debe hacer, algún motivo de seguridad o algo asi habrá. Le puse por que ami me funciona asi, lo único que yo no hago validación, simplemente por medio de un obj ajax introduzco a la session de php el valor de los campos que necesito y por otro lado subo el archivo.

Oye una cosa.En este caso¿Cual es la diferencia de hacerlo con un evento u otro y cual es el motivo de hacer la validación en el onsubmit?

Nunca esta demás saber hacer las cosas como se deben. a la larga se evitan problemas...

gracias y saludos
Por favor no desvies el tema....

REPITO...... Cuando incorporo la validacion de javascript para que muestre una alerta cuando los campos del formulario se dejan en blanco, alli es que deja de subir los archivos. Por que sin la funcion de javascript si funciona.

Entonces donde esta el error o conflicto que no trabajan juntas la validaci'on de javascript y la parte de PHP ???


Saludos!!!
  #11 (permalink)  
Antiguo 08/10/2008, 09:05
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: subir archivos con PHP y funcion javascript no funcionan

He probado tu código y comentando estas dos lineas me a funcionado

//formu.btnAdd.disabled=true;


//formu.btnAdd.disabled=false;

supongo que sera ese el problema porque con ellas me sucedia como a ti

Saludos
  #12 (permalink)  
Antiguo 08/10/2008, 09:07
Avatar de SpiderNet  
Fecha de Ingreso: agosto-2008
Ubicación: Venezuela
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: subir archivos con PHP y funcion javascript no funcionan

Cita:
Iniciado por matak Ver Mensaje
He probado tu código y comentando estas dos lineas me a funcionado

//formu.btnAdd.disabled=true;


//formu.btnAdd.disabled=false;

supongo que sera ese el problema porque con ellas me sucedia como a ti

Saludos
matak eres mi dios!!!

Muchas gracias!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.