Foros del Web » Programando para Internet » PHP »

Subir 4 imágenes con Php y Myql

Estas en el tema de Subir 4 imágenes con Php y Myql en el foro de PHP en Foros del Web. Hola a todos, tengo un codigo para subir 4 imagenes a una base de datos con php, ya logrè que se suban las 4 al ...
  #1 (permalink)  
Antiguo 28/01/2017, 09:28
 
Fecha de Ingreso: octubre-2008
Ubicación: Colombia
Mensajes: 450
Antigüedad: 16 años, 1 mes
Puntos: 2
Mensaje Subir 4 imágenes con Php y Myql

Hola a todos, tengo un codigo para subir 4 imagenes a una base de datos con php, ya logrè que se suban las 4 al directorio, pero no logro que se guarden en la base de datos para luego enlazarlas para mostrarlas en una consulta.

El código es el siguiente

Este es el archivo donde cargo las 4 imagenes y tres campos de textos adicionales

index.php
Código PHP:
<form name="form" action="reg_pago_proveedor.php" method="post" enctype="multipart/form-data">
    <div class="input-prepend">

        <legend>Realizar Compra o Abono</legend>
        
        <div>
            <label>Valor Compra: </label><br>

            <span class="add-on"><i class="icon-user"></i></span><span id="sprytextfield1">
            <input class="form-control" type="text" name="valor_compra_proveedor" placeholder="0,00"/>
           </span>
        <div>
            <p>
        <div>
            <label>Valor Abonado: </label><br>

            <span class="add-on"><i class="icon-user"></i></span><span id="sprytextfield1">
            <input class="form-control" type="text" name="abono_proveedor" placeholder="0,00"/>
            </span>
        <div>

        <div>
            <label>Soporte 1: </label><br>

            <span class="add-on"><i class="icon-user"></i></span><span id="sprytextfield1">
            <input class="form-control" type="file" name="foto_1"/>
            </span>
        <div>            

        <div>
            <label>Soporte 2: </label><br>

            <span class="add-on"><i class="icon-user"></i></span><span id="sprytextfield1">
            <input class="form-control" type="file" name="foto_2"/>
            </span>
        <div>

        <div>
            <label>Soporte 3: </label><br>

            <span class="add-on"><i class="icon-user"></i></span><span id="sprytextfield1">
            <input class="form-control" type="file" name="foto_3"/>
            </span>
        <div>

        <div>
            <label>Soporte 4: </label><br>

            <span class="add-on"><i class="icon-user"></i></span><span id="sprytextfield1">
            <input class="form-control" type="file" name="foto_4"/>
            </span>
        <div>            
            
            
            
            
            
            <label>Observaciones: </label><br>
            <textarea class="form-control" name="observa" rows="3"></textarea>
            
        
        <div> 
            <br>
        <input type="hidden" name="proveedor_id" value="<?=$_GET["proveedor_id"]?>">
        <input type="submit" value="Guardar" title="Guardar"  class="btn btn-success">
        </div>

    </div>    
</form>

Y este es el archivo que sube las 4 imagenes al servidor pero no me está generando el registro de los 4 campos foto_1, foto_2, foto_3 y foto_4 sólo me registra los 3 campos de textos adicionales

guardar.php

Código PHP:
<?php
include("conexion.php");

$target_dir "uploads/";
$target_file $target_dir basename($_FILES["foto_1"]["name"]);
$uploadOk 1;
$target_file2 $target_dir basename($_FILES["foto_2"]["name"]);
$uploadOk 1;
$target_file3 $target_dir basename($_FILES["foto_3"]["name"]);
$uploadOk 1;
$target_file4 $target_dir basename($_FILES["foto_4"]["name"]);
$uploadOk 1;
$imageFileType pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    
$check getimagesize($_FILES["foto_1"]["tmp_name"]);
    if(
$check !== false) {
        echo 
"File is an image - " $check["mime"] . ".";
        
$uploadOk 1;
    } else {
        echo 
"File is not an image.";
        
$uploadOk 0;
    }
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 100000000) {
    echo 
"Sorry, your file is too large.";
    
$uploadOk 0;
}


 if (
move_uploaded_file($_FILES["foto_1"]["tmp_name"], $target_file)) {
        echo 
"El archivo "basename$_FILES["foto_1"]["name"]). " ha sido cargado.";
    } else {
        echo 
"Sorry, there was an error uploading your file.";
    }

if (
move_uploaded_file($_FILES["foto_2"]["tmp_name"], $target_file2)) {
        echo 
"El archivo "basename$_FILES["foto_2"]["name"]). " ha sido cargado.";
    } else {
        echo 
"Sorry, there was an error uploading your file.";
    }

if (
move_uploaded_file($_FILES["foto_3"]["tmp_name"], $target_file3)) {
        echo 
"El archivo "basename$_FILES["foto_3"]["name"]). " ha sido cargado.";
    } else {
        echo 
"Sorry, there was an error uploading your file.";
    }

if (
move_uploaded_file($_FILES["foto_4"]["tmp_name"], $target_file4)) {
        echo 
"El archivo "basename$_FILES["foto_4"]["name"]). " ha sido cargado.";
    } else {
        echo 
"Sorry, there was an error uploading your file.";
    }


$sql="insert into table_pagos_proveedor 
values
(null,'"
.$_POST["proveedor_id"]."','".$_POST["valor_compra_proveedor"]."','".$_POST["abono_proveedor"]."','".$_POST["foto_1"]."','".$_POST["foto_2"]."','".$_POST["foto_3"]."','".$_POST["foto_4"]."','".$_POST["observa"]."',now())
"
;


$res=mysql_query($sql,$conexion);


echo 
"<script type=''>
    alert('Movimiento realizado correctamente');
    window.location='pago_proveedor.php?proveedor_id="
.$_POST["proveedor_id"]."';
</script>"
;

?>
Agradezco mucho su ayuda.
__________________
Desarrollo de Aplicaciones de Escritorio, Sitios Web, Audio y Video en SISGUS
  #2 (permalink)  
Antiguo 28/01/2017, 09:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Subir 4 imágenes con Php y Myql

No existen $_POST['foto_1'] a $_POST['foto_4'], recuerda que los archivos quedan en $_FILES, además, creaste variables $target_file a $target_file4 y quiero suponer que esas son las que deberían ir en la consulta.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 28/01/2017, 11:09
 
Fecha de Ingreso: octubre-2008
Ubicación: Colombia
Mensajes: 450
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Subir 4 imágenes con Php y Myql

Nada, lo intenté asi y sigue igual
__________________
Desarrollo de Aplicaciones de Escritorio, Sitios Web, Audio y Video en SISGUS
  #4 (permalink)  
Antiguo 28/01/2017, 12:05
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Subir 4 imágenes con Php y Myql

Hola karenlorenadg,

Así debería funcionarte:

Código PHP:
Ver original
  1. $sql="insert into table_pagos_proveedor
  2. values
  3. (null,'".$_POST["proveedor_id"]."','".$_POST["valor_compra_proveedor"]."','".$_POST["abono_proveedor"]."','".$target_file."','".$target_file2."','".$target_file3."','".$target_file4."','".$_POST["observa"]."',now())
  4. ";

En caso de que no te funcione, empieza por depurar tu código, a ver lo que tienes en cada apartado y muéstranos los errores que te vaya dando.
  #5 (permalink)  
Antiguo 28/01/2017, 16:33
 
Fecha de Ingreso: octubre-2008
Ubicación: Colombia
Mensajes: 450
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Subir 4 imágenes con Php y Myql

Hola Rubén Bitrián Crespo.

Excelente me funcionó correctamente, Dios te bendiga, Oye ahora me surgió otro problemita y es que algunas fotos son algo grandecitas y me genera el siguiente error:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\......pago_proveedor.php on line 377

Espero me ayudes por favor
__________________
Desarrollo de Aplicaciones de Escritorio, Sitios Web, Audio y Video en SISGUS
  #6 (permalink)  
Antiguo 29/01/2017, 04:05
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Subir 4 imágenes con Php y Myql

Hola karenlorenadg,

Hasta donde puedo ver (ya que eso no lo tienes en el código que compartiste), eso no tiene nada que ver con el tamaño de las imágenes, fíjate lo que te dice:

https://translate.google.es/#en/es/W...n%20line%20377

Cuando no te aclares con el inglés, haz como yo, usa el traductor, a mi me sirve para darme una idea...

No obstante, lo recomendable es que dejes de usar msql_* y empieces a usar msqli_* porque la primera está obsoleta

Ya sabes, poco a poco...

Etiquetas: images
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 16:54.