Foros del Web » Programando para Internet » PHP »

Formulario para envio de imagenes.

Estas en el tema de Formulario para envio de imagenes. en el foro de PHP en Foros del Web. Hola amigos de foros del web. Antes que nada quiero enviarles un cordial saludo y agradecerles el apoyo que me han brindado. Una vez mas ...
  #1 (permalink)  
Antiguo 21/06/2010, 18:45
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 15 años, 4 meses
Puntos: 0
Formulario para envio de imagenes.

Hola amigos de foros del web.
Antes que nada quiero enviarles un cordial saludo y agradecerles el apoyo que me han brindado.

Una vez mas vengo a consultarles una duda, resulta que tengo un formulario que contiene varios campos de texto + dos campos del tipo archivo para poder hacer el upload de mis imagenes, tanto el texto como el nombre de la imagen van a parar a una tabla en mysql, tengo un script en php que procesa la informacion, pero antes de enviarla a la base de datos realiza unas cuantas comprobaciones de las imagenes como son (extencion y tamaño) si las caracteristicas son correctas procede a enviar la informacion a la base de datos y la imagen a una carpeta determinada.

El problema es que el upload solo lo hace de una imagen pero si me envia la ruta de las dos imagenes a la base de datos, no c si me explico bien. Esto quiere decir que unicamente me sube una imagen a la carpeta, correspondiente al del primer campo de tipo archivo no c que es lo que este mal en mi codigo, pero algo me suena que solo es el upload de la segunda imagen ya que si me sube una imagen y las dos rutas de las imagenes pero la segunda imagen no la sube, la pagina no me muestra ningun error.

Les agradeceria si me pudieran echar una mano revisando mi codigo, mi codigo es el siguiente:

Código PHP:
<?php
$server
"localhost";
$usuario"root";
$password"root";
$db"prueba_upload";
//***********************************************************************************************************************************************************************

//datos del arhivo  
$nombre_archivo $_FILES["archivo1"]["name"];
$tipo_archivo $_FILES["archivo1"]["type"];
$tamano_archivo $_FILES["archivo1"]["size"];

//datos del arhivo 2
$nombre_archivo_2 $_FILES["archivo2"]["name"];
$tipo_archivo_2 $_FILES["archivo2"]["type"];
$tamano_archivo_2 $_FILES["archivo2"]["size"];
//***********************************************************************************************************************************************************************

//compruebo si las características de los archivo 1 y 2 son las que deseo  

if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && (    $tamano_archivo 100000)) || !((strpos($tipo_archivo_2"gif") || strpos($tipo_archivo_2"jpeg")) && (    $tamano_archivo_2 100000))) 
{  
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>"

?> 


<script language="javascript"> 
setTimeout("url()",4000); 
function url() 

window.history.back(); 

</script>            


<?php 
}


else 
{  
$nom_img$nombre_archivo;
$nom_img2$nombre_archivo_2;
     
$directorio 'C:\AppServ\www\upload\Imagenes'

if ( 
move_uploaded_file($_FILES['archivo1']['tmp_name'], $directorio "/" $nom_img) || 
     
move_uploaded_file($_FILES['archivo2']['tmp_name'], $directorio "/" $nom_img2) ) 
{         
//***********************************************************************************************************************************************************************
//NOS CONECTAMOS A LA BASE DE DATOS 

$link=mysql_connect($server,$usuario,$password); 
                         
$query="INSERT INTO soportes1 (P_Fisica_Moral, Bloque_Uno_1, Folio, Bloque_Uno_3, Bloque_Uno_4, Bloque_Uno_5, Bloque_Uno_6, Bloque_Uno_7, Bloque_Uno_8, Bloque_Uno_9, Bloque_Uno_10, Bloque_Uno_11, Bloque_Dos_1,Bloque_Dos_2, Bloque_Dos_3, Bloque_Dos_4, Bloque_Dos_5, Bloque_Dos_6, Bloque_Dos_7, Bloque_Dos_8, Bloque_Dos_9, Bloque_Dos_10, Bloque_Dos_11, Bloque_Dos_12, Bloque_Tres_1, Bloque_Tres_2, Bloque_Tres_3, Bloque_Tres_4, Bloque_Tres_5, Bloque_Tres_6, Bloque_Tres_7, Bloque_Tres_8, Bloque_Tres_9, Bloque_Tres_10, Bloque_Tres_11, Bloque_Cuatro_1, Bloque_Cuatro_2, Bloque_Cuatro_3, Bloque_Cuatro_4, Obs_Generales, Foto, Foto2) VALUES ('".$_POST['P_Fisica_Moral']."', '".$_POST['Bloque_Uno_1']."', '".$_POST['Folio']."', '".$_POST['Bloque_Uno_3']."', '".$_POST['Bloque_Uno_4']."', '".$_POST['Bloque_Uno_5']."', '".$_POST['Bloque_Uno_6']."', '".$_POST['Bloque_Uno_7']."', '".$_POST['Bloque_Uno_8']."', '".$_POST['Bloque_Uno_9']."', '".$_POST['Bloque_Uno_10']."', '".$_POST['Bloque_Uno_11']."', '".$_POST['Bloque_Dos_1']."', '".$_POST['Bloque_Dos_2']."', '".$_POST['Bloque_Dos_3']."', '".$_POST['Bloque_Dos_4']."', '".$_POST['Bloque_Dos_5']."', '".$_POST['Bloque_Dos_6']."', '".$_POST['Bloque_Dos_7']."', '".$_POST['Bloque_Dos_8']."', '".$_POST['Bloque_Dos_9']."', '".$_POST['Bloque_Dos_10']."', '".$_POST['Bloque_Dos_11']."', '".$_POST['Bloque_Dos_12']."', '".$_POST['Bloque_Tres_1']."', '".$_POST['Bloque_Tres_2']."', '".$_POST['Bloque_Tres_3']."', '".$_POST['Bloque_Tres_4']."', '".$_POST['Bloque_Tres_5']."', '".$_POST['Bloque_Tres_6']."', '".$_POST['Bloque_Tres_7']."', '".$_POST['Bloque_Tres_8']."', '".$_POST['Bloque_Tres_9']."', '".$_POST['Bloque_Tres_10']."', '".$_POST['Bloque_Tres_11']."', '".$_POST['Bloque_Cuatro_1']."', '".$_POST['Bloque_Cuatro_2']."', '".$_POST['Bloque_Cuatro_3']."', '".$_POST['Bloque_Cuatro_4']."', '".$_POST['Obs_Generales']."', '$nom_img','$nom_img2')";

$result=mysql_db_query($db,$query,$link); 
         
if(
mysql_affected_rows($link)) 
{  
echo 
"Soporte ingresado correctamente";
         
} else  
{  
echo 
"Error introduciendo el soporte";  
/* Cierre del else */  
}
else 

echo 
"error al subir la foto"


?>
  #2 (permalink)  
Antiguo 21/06/2010, 18:58
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Formulario para envio de imagenes.

Me parece que la logica de esto:
Código PHP:
if ( move_uploaded_file($_FILES['archivo1']['tmp_name'], $directorio "/" $nom_img) || 
     
move_uploaded_file($_FILES['archivo2']['tmp_name'], $directorio "/" $nom_img2) ) 
...podria estar dejando suceder esto... porque?... testea esto y lo veras...
Código PHP:
$a "false";
$b "false";
//esto es lo que actualmente haces
if ( $a "true" || $b "true" ){
    echo 
'Correcto con a = '.$a.' y b = '.$b.'<br>';
}
//esto es lo que deberias hacer
if($a "true" && $b "true"){
    echo 
'Correcto con a = '.$a.' y b = '.$b.'<br>';

Y basicamente esto sucede porque en el if estas preguntando si la condicion A o la condicion B se cumple, en vez de preguntar si la condicion A y la condicion se cumple.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 21/06/2010, 19:04
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: Formulario para envio de imagenes.

Un diminuto detalle sería == y no =. Hasta programadores con tiempo se les escapa a veces indicar el doble signo de igual.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 21/06/2010, 19:22
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Formulario para envio de imagenes.

Cita:
Iniciado por Marvin Ver Mensaje
Me parece que la logica de esto:
Código PHP:
if ( move_uploaded_file($_FILES['archivo1']['tmp_name'], $directorio "/" $nom_img) || 
     
move_uploaded_file($_FILES['archivo2']['tmp_name'], $directorio "/" $nom_img2) ) 
...podria estar dejando suceder esto... porque?... testea esto y lo veras...
Código PHP:
$a "false";
$b "false";
//esto es lo que actualmente haces
if ( $a "true" || $b "true" ){
    echo 
'Correcto con a = '.$a.' y b = '.$b.'<br>';
}
//esto es lo que deberias hacer
if($a "true" && $b "true"){
    echo 
'Correcto con a = '.$a.' y b = '.$b.'<br>';

Y basicamente esto sucede porque en el if estas preguntando si la condicion A o la condicion B se cumple, en vez de preguntar si la condicion A y la condicion se cumple.

Suerte!
Te agradezco muchisimo, un error tan simple que me estaba dando muchos dolores de cabeza, tendre mas cuidado para la proxima y tratare de no omitir detalles tan importantes.

Nuevamente un agradecimiento muy especial, tu ejemplo fue mas que claro para mi y me ayudo muchisimo, ya logre lo que necesitaba.
  #5 (permalink)  
Antiguo 21/06/2010, 19:26
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Formulario para envio de imagenes.

Cita:
Iniciado por abimaelrc Ver Mensaje
Un diminuto detalle sería == y no =. Hasta programadores con tiempo se les escapa a veces indicar el doble signo de igual.
abimaelrc una vez mas debo agradecerte ya que siempre estas al pendiente de las dudas de los usuarios del foro y a mi me has salvado mas de una vez.

Te envio un cordial saludo y nuevamente mis agradecimientos.
  #6 (permalink)  
Antiguo 21/06/2010, 20:07
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Formulario para envio de imagenes.

Pero ojo... que mi intencion no era preguntar si $a es igual a "true"... mi intencion era asignarle "true" a $a... porque si te fijas en el primer echo... $b va a seguir siendo "false" aunque se la estoy asignando en el if...
En el segundo los dos seran "true" debido a que le cambie el O por Y... por lo tanto las dos condiciones deben ser verdaderas para poder entrar.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 21/06/2010, 20:09
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: Formulario para envio de imagenes.

Oh, entonces, fue que mal-interprete.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: imagenes, mysql, upload
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:22.