Foros del Web » Programando para Internet » PHP »

SOS - Upload no publica en DB

Estas en el tema de SOS - Upload no publica en DB en el foro de PHP en Foros del Web. saludos tngo un sistema q lo sque de aqui d uno de los aportes pero al agregar para q inserte en la base de datos ...
  #1 (permalink)  
Antiguo 18/06/2009, 10:52
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 17 años, 3 meses
Puntos: 28
SOS - Upload no publica en DB

saludos tngo un sistema q lo sque de aqui d uno de los aportes pero al agregar para q inserte en la base de datos no inserta, lo raro es q ni error me tira.. alguien sabras???

Código PHP:
<?php include ('conect.php'); 
if(isset(
$_FILES['fichero']['name'])) {  

   if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) {
   
   
   
//empieza la redimension, tomamos la imagen temporal subida
   
$info getimagesize($_FILES['fichero']['tmp_name']); 
   
//segun el caso sera jpg, gif, png
   
switch ($info[2]) {
  case 
1:
    
$imagen imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;
  case 
2:
    
$imagen imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;
  case 
3:
    
$imagen imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;
  
// etcétera // 
  
}

$original $imagen;
$original_w imagesx($original);
$original_h imagesy($original);

$max 175;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
    
$muestra_w $max;
    
$muestra_h intval(($original_h/$original_w)*$max);
    } else {
    
$muestra_w intval(($original_w/$original_h)*$max);
    
$muestra_h $max;
    }

$muestra imagecreatetruecolor($muestra_w,$muestra_h); 

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya


//imagedestroy($muestra);





 
     // me verifica haya sido cargado el archivo 
        
$ruta_destino "../carpeta/archivos/";
        
$namefinaltrim ($_FILES['fichero']['name']);
        
$namefinalereg_replace (" """$namefinal);
        
$uploadfile$ruta_destino $namefinal;
        if(
imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
                      


                        
// Aqui es donde tendre que insertar en la BD la variable $namefinal que con tiene el nombre del archivo sin espacios

    
$query "INSERT INTO galeria SET
                        id_boda = '$id_boda',
                        imagen = '$namefinal'"
;
                        
mysql_query($query);
                        
                        
$msj="La imagen ha sido insertada con exito.";
        }}}
?>
<style type="text/css">
<!--
.style1 {    font-weight: normal
}
-->
</style>
<p align="center" class="norm"><span class="azulgrs_tah">
  <?=$msj?>
</span></p>
<table width="484" border="0" align="center" cellpadding="0" cellspacing="0" class="style1">
  <tr>
    <td width="484"><form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
      <table width="433" border="0" align="center" cellpadding="4" cellspacing="0" class="text">
        <tr>
          <td width="105" class="azulgrs_tah"><div align="center" class="style1">Imagen</div></td>
          <td width="312"><div align="left">
            <input type="file" name="imagen" class="enviainput" id="imagen" />
          </div></td>
        </tr>
      </table>
      <br />
      <table width="247" border="0" align="center" cellpadding="4" cellspacing="0" class="text">
        <tr>
          <td width="239" colspan="2"><div align="center">
            <input name="enviar" type="submit" class="forminput" id="enviar" value="Guardar" />
          </div></td>
        </tr>
      </table>
    </form></td>
  </tr>
</table>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 18/06/2009, 10:57
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 18 años, 2 meses
Puntos: 8
Respuesta: SOS - Upload no publica en DB

Código PHP:
    $query "INSERT INTO galeria SET
                        id_boda = '$id_boda',
                        imagen = '$namefinal'"
;
                        
mysql_query($query); 
eso esta mal, poner un insert con un set, el set lo usas para el update.
Fijate eso y despues nos avisas como te fue.
SAludos
  #3 (permalink)  
Antiguo 18/06/2009, 11:02
 
Fecha de Ingreso: noviembre-2008
Ubicación: lima
Mensajes: 148
Antigüedad: 16 años
Puntos: 0
Respuesta: SOS - Upload no publica en DB

Hola, el problema es tu consulta.
Código PHP:
    $query "INSERT INTO galeria SET
                        id_boda = '$id_boda',
                        imagen = '$namefinal'"
;
                        
mysql_query($query); 
En vez de SET es VALUES y en parentesis.


Aparte cuando ejecutes el query
Código PHP:

mysql_query
($query) or die(mysql_error());
//parq ue veas donde fallas en la senetencia 

saludos
  #4 (permalink)  
Antiguo 18/06/2009, 12:00
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 17 años, 3 meses
Puntos: 28
Respuesta: SOS - Upload no publica en DB

pero ya el set lo he usado para otros sistemas y me ha funcionado a la perfeccion
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #5 (permalink)  
Antiguo 18/06/2009, 12:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: SOS - Upload no publica en DB

La sintaxis para INSERT es:
Código sql:
Ver original
  1. INSERT INTO tabla (col1, col2, col3) VALUES ('val1', 'val2', 'val3')

Para UPDATE es:
Código sql:
Ver original
  1. UPDATE tabla SET col1='val1' WHERE col='val'

Saludos.
  #6 (permalink)  
Antiguo 18/06/2009, 12:47
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 17 años, 3 meses
Puntos: 28
Respuesta: SOS - Upload no publica en DB

Código PHP:

    $query 
"INSERT INTO galeria (id, id_boda, imagen) VALUES ('id', 'id_boda', 'namefinal')";
                        
mysql_query($query) or die(mysql_error()); 
y aun sigue sin insertar!!!... =/
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #7 (permalink)  
Antiguo 18/06/2009, 12:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: SOS - Upload no publica en DB

Porque no estas escribiendo variables de php

'$id', '$id_boda', '$namefinal'

Claro esta si es asi se llaman las variables. Ademas debes llamarlas con el $_GET o $_POST si es que no la has cambiado a otro nombre como las variables que te mencione
  #8 (permalink)  
Antiguo 18/06/2009, 13:00
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 17 años, 3 meses
Puntos: 28
Respuesta: SOS - Upload no publica en DB

llamarlas???? llamarlas como?? no entiendo.. en q lugar???... dios :(
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #9 (permalink)  
Antiguo 18/06/2009, 13:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: SOS - Upload no publica en DB

ok como tu haces

Tu envias un formulario los datos y llamas esta pagina para insertar o en la misma pagina declaras la variable y luego insertas ?
  #10 (permalink)  
Antiguo 18/06/2009, 13:11
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 17 años, 3 meses
Puntos: 28
Respuesta: SOS - Upload no publica en DB

en la misma pagina integro todo fijate

Código PHP:
<?php include ('conect.php'); 
if(isset(
$_FILES['fichero']['name'])) {  

   if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) {
   
   
   
//empieza la redimension, tomamos la imagen temporal subida
   
$info getimagesize($_FILES['fichero']['tmp_name']); 
   
//segun el caso sera jpg, gif, png
   
switch ($info[2]) {
  case 
1:
    
$imagen imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;
  case 
2:
    
$imagen imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;
  case 
3:
    
$imagen imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;
  
// etcétera // 
  
}

$original $imagen;
$original_w imagesx($original);
$original_h imagesy($original);

$max 175;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
    
$muestra_w $max;
    
$muestra_h intval(($original_h/$original_w)*$max);
    } else {
    
$muestra_w intval(($original_w/$original_h)*$max);
    
$muestra_h $max;
    }

$muestra imagecreatetruecolor($muestra_w,$muestra_h); 

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya


//imagedestroy($muestra);





 
     // me verifica haya sido cargado el archivo 
        
$ruta_destino "../carpeta/archivos/";
        
$namefinaltrim ($_FILES['fichero']['name']);
        
$namefinalereg_replace (" """$namefinal);
        
$uploadfile$ruta_destino $namefinal;
        if(
imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
                      


                        
// Aqui es donde tendre que insertar en la BD la variable $namefinal que con tiene el nombre del archivo sin espacios

    
$query "INSERT INTO galeria (id, id_boda, imagen) VALUES ('$id', '$id_boda', '$namefinal')";
                        
mysql_query($query) or die(mysql_error()); 
                        
                        
$msj="La imagen ha sido insertada con exito.";
        }}}
?>
<style type="text/css">
<!--
.style1 {    font-weight: normal
}
-->
</style>
<p align="center" class="norm"><span class="azulgrs_tah">
  <?=$msj?>
</span></p>
<table width="484" border="0" align="center" cellpadding="0" cellspacing="0" class="style1">
  <tr>
    <td width="484"><form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
      <table width="433" border="0" align="center" cellpadding="4" cellspacing="0" class="text">
        <tr>
          <td width="105" class="azulgrs_tah"><div align="center" class="style1">Imagen</div></td>
          <td width="312"><div align="left">
            <input type="file" name="imagen" class="enviainput" id="imagen" />
          </div></td>
        </tr>
      </table>
      <br />
      <table width="247" border="0" align="center" cellpadding="4" cellspacing="0" class="text">
        <tr>
          <td width="239" colspan="2"><div align="center">
            <input name="enviar" type="submit" class="forminput" id="enviar" value="Guardar" />
          </div></td>
        </tr>
      </table>
    </form></td>
  </tr>
</table>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #11 (permalink)  
Antiguo 18/06/2009, 14:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: SOS - Upload no publica en DB

Si no esta ejecutando el query es probable que no este entrando en los ifs, y la razon es porque en tu formulario el campo de imagen se llama "imagen" y en tu código PHP estas evaluando y usando "fichero".

Saludos.
  #12 (permalink)  
Antiguo 18/06/2009, 15:24
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 9 meses
Puntos: 7
Respuesta: SOS - Upload no publica en DB

Hola :]

Pues lo que he revisado de tu codigo es que..... de donde sacas los valores que asignas a las variables $id, $id_boda, porque no encontre donde asignas sus valores :P y lo mas seguro es que por eso es que te da el error....


y una cosa es mejor que no pongas

Código PHP:
('$id''$id_boda''$namefinal'
seria mejor

Código PHP:
('.$id.''.$id_boda.''.$namefinal.'
saludos

Otra cosa

con tu codigo de
Código PHP:
"INSERT INTO galeria (id, id_boda, imagen) VALUES ('$id', '$id_boda', '$namefinal')"
supongo que "id" es el la llave primaria de la tabla galeria..... y lo mas seguro es que se de tipo INT asi que es tambien muy seguro que sea "auto increment" (si no lo esta ponle a la llave primaria autoincrement !! o.O) asi que no seria necesario que le pongas un id a la tabla ya que el motor de MySQL lo haria por lo que el insert tendria que ser

Código PHP:
"INSERT INTO galeria (id_boda, imagen) VALUES ('$id_boda', '$namefinal')"

Última edición por kike00; 18/06/2009 a las 15:28 Razón: algunas correcciones :]
  #13 (permalink)  
Antiguo 19/06/2009, 05:16
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 18 años, 2 meses
Puntos: 8
Respuesta: SOS - Upload no publica en DB

y que paso al final???
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 22:35.