subir archivos con PHP y funcion javascript... juntos no funcionan SOLUCIONADO

Iniciado por SpiderNet, 7 Octubre 2008, 21:16 PM

0 Miembros y 3 Visitantes están viendo este tema.


SpiderNet

Cita de: BadDevil en  8 Octubre 2008, 01:32 AM
Que bueno que se haya solucionado... y yo hablando weas :-X

mira hablador de webonadas...

copia ese codigo y pruebalo... Me funcionaba pero ya no. Esto es una locura de verdad.
Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....

Pablo Videla

 :xD

Lo probare , luego te cuento .

toda la razon no hace nada ... tengo los permisos 777 en la carpeta y aun asi no funca :rolleyes:

SpiderNet

Cita de: BadDevil en  8 Octubre 2008, 03:01 AM
:xD

Lo probare , luego te cuento .

toda la razon no hace nada ... tengo los permisos 777 en la carpeta y aun asi no funca :rolleyes:

El problema no es de permisos de archivo. Por si cambias el codigo eliminando o saltandote la funcion de javascript veras que si te funciona la parte de subir archivos.

De hecho yo lo he probado sin la funcion de javascript y me sube los archivos. Pero tratar de que funcione la funcion java y la subida de los archivos es un peo...

Yo veo que cuando no dejo nngun campo vacio el submit no se ejecuta, al parecer no sale del formulario....
Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....

Pablo Videla

Cita de: SpiderNet en  8 Octubre 2008, 03:12 AM
Cita de: BadDevil en  8 Octubre 2008, 03:01 AM
:xD

Lo probare , luego te cuento .

toda la razon no hace nada ... tengo los permisos 777 en la carpeta y aun asi no funca :rolleyes:

El problema no es de permisos de archivo. Por si cambias el codigo eliminando o saltandote la funcion de javascript veras que si te funciona la parte de subir archivos.

De hecho yo lo he probado sin la funcion de javascript y me sube los archivos. Pero tratar de que funcione la funcion java y la subida de los archivos es un peo...

Yo veo que cuando no dejo nngun campo vacio el submit no se ejecuta, al parecer no sale del formulario....
y por que no haces el formulario en otro archivo ?

SpiderNet

Cuando se nos presenta u problema, la idea es saber el por que, asi aprendemos.

Buscar alternativas sin saber el por que de las cosas, es tirar flechas.

Que arrechera.... alguien que analice  y ayude por favor...
Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....

SpiderNet

Disculpen la insistencia....

Se que aqui hay personas capaces y obviamente con mucho mas conocimiento que yo.

Por favor este es mi codigo.

Sin la funcion de javascript la subida de archivos funciona perfectmente.

El problema o conflicto se presenta cuando incorporo la funcion de javascript.

Si alguien pudiera copiar el codigo y probarlo en su servidor.


<!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>



Espero puedan ayudarme


Saludos!!!
Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....

cassiani

tu problema es causado por esta línea:
Código (javascript) [Seleccionar]
formu.btnAdd.disabled=true;

está donde no debería y bueno... tus validaciones son algo extrañas, yo no activaría el botón de envió hasta que todos los campos estén llenos.

Saludos!

Karman

prueba así:

Código (php) [Seleccionar]

<!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 (formu.fichero.value=="")
    {
  mensaje += '· Debe seleccionar un archivo\n';
  error=true;
    }

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

<?php
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!. Datos:</b><br>"

  }
}
?>


<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" name="btnAdd" enctype="multipart/form-data" onSubmit="javascript: 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>


S2

SpiderNet

Cita de: cΔssiΔnі en  8 Octubre 2008, 18:08 PM
tu problema es causado por esta línea:
Código (javascript) [Seleccionar]
formu.btnAdd.disabled=true;

está donde no debería y bueno... tus validaciones son algo extrañas, yo no activaría el botón de envió hasta que todos los campos estén llenos.

Saludos!


Cierto elimino las dos lineas que hacen referencia a formu.btnAdd.disabled y todo funciona bien.

Gracias!!!
Quieres un foro solo para principiantes
Visita  http://spidernet.forumotion.com

El miedo es libre, puedes sentirlo....