Foros del Web » Programando para Internet » PHP »

Problema al subir un archivo

Estas en el tema de Problema al subir un archivo en el foro de PHP en Foros del Web. Hola amigos saludos... bueno, resulta que hace pocos días podía subir muy facilmente, pero a partir que agregue otro campo a mi tabla y deje ...
  #1 (permalink)  
Antiguo 07/05/2007, 19:37
 
Fecha de Ingreso: abril-2007
Mensajes: 92
Antigüedad: 17 años
Puntos: 0
Problema al subir un archivo

Hola amigos saludos... bueno, resulta que hace pocos días podía subir muy facilmente, pero a partir que agregue otro campo a mi tabla y deje de utilizar uno de los que utilizaba anteriormente por una actualización y reestructuración que hice de mi sistema, ya no puedo subir.... aqui les dejo el código por si me pueden dar una ayudadita, no sé qué se me está pasando, me brotan muchas ideas, pero hasta ahora he intentado varias cosas y no han funcionado.

Este es el código que utilizaba cuando no me daba error, nada más quiero señalar una cosa, el campo Estado ya no lo utilizo más y en vez de estado tengo otro campo que se llama GenCon.

Código PHP:

   <p><?
/* guardar_archivo.php */

 
require("config.php");
//archivo
 
$tmpName $_FILES["userfile"]["tmp_name"];
//tama&ntilde;o
 
$fileSize $_FILES["userfile"]["size"];
//tipo
 
$fileType    $_FILES["userfile"]["type"];
//nombre
 
$fileName  $_FILES["userfile"]["name"];
// $titulo  = $_POST["titulo"];

$ncuenta=$_POST["NoCuenta"];
$nombre=$_POST["Nombre"];
$facultad=$_POST["Facultad"];
$carrera=$_POST["Carrera"];
$proyecto=$_POST["NombreProyecto"];
$titulacion=$_POST["Titulacion"];
$asesor1=$_POST["Asesor1"];
$asesor2=$_POST["Asesor2"];
$asesor3=$_POST["Asesor3"];
$descripcion=$_POST["Descripcion"];
$integrantes=$_POST["Integrantes"];
$estado=$_POST["Estado"];
$fecha=$_POST["Fecha"];



 if ( 
$fileName != "none" )
 {
    
$fp fopen($tmpName"rb");
    
$contenido fread($fp$fileSize);
    
$contenido addslashes($contenido);
    
fclose($fp);

    
$result mysql_query("SELECT * FROM upload WHERE name='{$fileName}'") or die(mysql_error());
    
$row mysql_fetch_array$result );
                 
//si esta en blanco crea lo siguiente
   
if($row['name'] == '')
                    {
        
$qry "INSERT INTO upload VALUES
            (0,'$fileName','$fileType','$fileSize','$contenido','$ncuenta','$nombre','$facultad','$carrera','$proyecto','$titulacion','$asesor1','$asesor2','$asesor3','$descripcion','$integrantes','$estado','$fecha')"
;

        
mysql_query($qry);
        if(
mysql_affected_rows($conn) > 0)
               print 
"Se ha guardado el archivo en la base de datos.";
        else
               print 
"NO se ha podido guardar el archivo en la base de datos.";
    }

    else{

      
$query "UPDATE upload SET type='".$fileType."', size='".$fileSize."', content='".$contenido."', NoCuenta='".$ncuenta."', Nombre='".$nombre."', Facultad='".$facultad."', Carrera='".$carrera."', NombreProyecto='".$proyecto."', Titulacion='".$titulacion."', Asesor1='".$asesor1."', Asesor2='".$asesor2."', Asesor3='".$asesor3."', Descripcion='".$descripcion."', Integrantes='".$integrantes."', Estado='".$estado."', Fecha='".$fecha."' WHERE name='".$fileName."'";
       
mysql_query($query) or die(mysql_error());
    }

        echo 
"<br>Archivo $fileName Cargado<br>";
 }

 else
    print 
"No se ha podido subir el archivo al servidor";



    function 
error($error)
{
   
//Si el error es deja en blanco"
   
if($error == 'blank')
      {
          
header("Location: campos.php");
      }
   
//si el error es de los passwords
   
if($error == 'password')
      {
      echo 
"<b>El password no es igual</b>";
      }
   
//si quiere meter un numero de cuenta que no esta en la base
   
if($error == 'no_existe')
      {
         
header("Location: nopuedes.php");
      }
   
//si el usuario esta repedido te manda director a actualizar
   
if($error == 'user')       //error("no_existe");
      
{
         
header("Location: escoger_archivo.php");
      }
}

?>

Bueno, los campos que tengo en toda mi tabla son los que tengo ahi en el código, más GenCon(que ahora lo cambie por el de Estado), Clasificación y Biblioteca, es decir, 3 campos que no utilizo en ese momento... será por eso mi error?
  #2 (permalink)  
Antiguo 07/05/2007, 21:40
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Problema al subir un archivo

Hola

Bueno, una pregunta, el campo de la tabla que se llamaba estado ahora se llama GenCon??

Si es asi, entonces el problema es este

Código PHP:
$estado=$_POST["Estado"]; 
pues esa variable guarda el valor del formulario que tenia el campo llamado Estado, y si es solo eso, entonces deberias cambiarlo por
$estado=$_POST["GenCon"];
puesto que en tu código se esta insertando y actualizando ese campo con esa variable, y entonces en el update también deberias cambiar esto


Código PHP:
Estado='".$estado."' 
por

Código PHP:
GenCon='".$estado."' 
Espero te sirva, saludos
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 07/05/2007, 21:57
 
Fecha de Ingreso: abril-2007
Mensajes: 92
Antigüedad: 17 años
Puntos: 0
Re: Problema al subir un archivo

Bueno, solo lo puse como lo tenía antes, cuando todavía me servía, pero si de hecho si cambie todo eso que me indicas... aqui está el código como lo tengo ahorita


Código PHP:

<?
/* guardar_archivo.php */

 
require("config.php");
//archivo
 
$tmpName $_FILES["userfile"]["tmp_name"];
//tama&ntilde;o
 
$fileSize $_FILES["userfile"]["size"];
//tipo
 
$fileType    $_FILES["userfile"]["type"];
//nombre
 
$fileName  $_FILES["userfile"]["name"];
// $titulo  = $_POST["titulo"];

$ncuenta=$_POST["NoCuenta"];
$nombre=$_POST["Nombre"];
$facultad=$_POST["Facultad"];
$carrera=$_POST["Carrera"];
$proyecto=$_POST["NombreProyecto"];
$titulacion=$_POST["Titulacion"];
$asesor1=$_POST["Asesor1"];
$asesor2=$_POST["Asesor2"];
$asesor3=$_POST["Asesor3"];
$descripcion=$_POST["Descripcion"];
$integrantes=$_POST["Integrantes"];
$fecha=$_POST["Fecha"];
$gencon=$_POST["GenCon"];


   
 if ( 
$fileName != "none" )
 {
    
$fp fopen($tmpName"rb");
    
$contenido fread($fp$fileSize);
    
$contenido addslashes($contenido);
    
fclose($fp);

    
$result mysql_query("SELECT * FROM upload WHERE name='{$fileName}'") or die(mysql_error());
    
$row mysql_fetch_array$result );
                 
//si esta en blanco crea lo siguiente
   
if($row['name'] == '')
                    {
        
$qry "INSERT INTO upload VALUES
            (0,'$fileName','$fileType','$fileSize','$contenido','$ncuenta','$nombre','$facultad','$carrera','$proyecto','$titulacion','$asesor1','$asesor2','$asesor3','$descripcion','$integrantes','$fecha','$gencon')"
;

        
mysql_query($qry);
        if(
mysql_affected_rows($conn) > 0)
               print 
"Se ha guardado el archivo en la base de datos.";
        else
               print 
"NO se ha podido guardar el archivo en la base de datos.";
    }

    else{

      
$query "UPDATE upload SET type='".$fileType."', size='".$fileSize."', content='".$contenido."', NoCuenta='".$ncuenta."', Nombre='".$nombre."', Facultad='".$facultad."', Carrera='".$carrera."', NombreProyecto='".$proyecto."', Titulacion='".$titulacion."', Asesor1='".$asesor1."', Asesor2='".$asesor2."', Asesor3='".$asesor3."', Descripcion='".$descripcion."', Integrantes='".$integrantes."', Fecha='".$fecha."', GenCon='".$gencon."' WHERE name='".$fileName."'";
       
mysql_query($query) or die(mysql_error());
    }

        echo 
"<br>Archivo $fileName Cargado<br>";
 }

 else
    print 
"No se ha podido subir el archivo al servidor";


    function 
error($error)
{
   
//Si el error es deja en blanco"
   
if($error == 'blank')
      {
          
header("Location: campos.php");
      }
   
//si el error es de los passwords
   
if($error == 'password')
      {
      echo 
"<b>El password no es igual</b>";
      }
   
//si quiere meter un numero de cuenta que no esta en la base
   
if($error == 'no_existe')
      {
         
header("Location: nopuedes.php");
      }
   
//si el usuario esta repedido te manda director a actualizar
   
if($error == 'user')       //error("no_existe");
      
{
         
header("Location: escoger_archivo.php");
      }
}

?>
  #4 (permalink)  
Antiguo 07/05/2007, 22:38
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Problema al subir un archivo

Hola

Tal vez si haya problema en el insert into pues como lo tienes directo, es decir
insert into tabla values (1,2.....) el inserta valores en todos los campos, y pues como se puede ver en el insert into no estas insertando valores en los campos de Clasificacion y Biblioteca

Soluciones

1. agregar estos 2 campos en el insert into
2. especificar los campos a insertar en el insert into asi

insert into (campo1,campo2) values (1,2) y ahi irian los nombres de los campos en los cuales quieres insertar datos, bueno, espero te sirva
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
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 05:18.