Cita:
Iniciado por sonystar_17
a ver los problemas te los marca claramente
le estas pasando un array , que es el del input type file, cierto ?
y el segundo error es por el primero.
ya que :
recorre el array del input file como recorres otro array while , for , foreach y dentro hacer las validaciones correspondientes.
gracias amigo por tu respuesta, he modificado todo el código y he conseguido que trabaje pero el único problema es que me repite los registros en la tabla detalles_categorias cuando solo debería insertar 1 registro porque en la tabla detalles_img guardo el id del registro detalles_categorias conjuntamente con las imagenes
anexo codigo
Código PHP:
Ver original<?php
//error_reporting( ~E_NOTICE ); // avoid notice
include '../conexion/conexion.php';
if(isset($_POST['guardar'])){
foreach($_FILES['imagen']['tmp_name'] as $key => $tmp_name ){
$fk_categorias = $_POST['fk_categorias'];
$precio = $_POST['precio'];
$descripcion = $_POST['descripcion'];
$detalles = $_POST['detalles'];
$imgFile = $key.$_FILES['imagen']['name'][$key];
$tmp_dir = $_FILES['imagen']['tmp_name'][$key];
$imgSize = $_FILES['imagen']['size'][$key];
if(empty($_POST["fk_categorias"])){ $errMSG = "Por favor ingrese la categoria.";
}
$errMSG = "Por favor ingrese el precio.";
}
else if(empty($descripcion)){ $errMSG = "Por favor ingrese la descripcion del articulo.";
}
else if(empty($detalles)){ $errMSG = "Por favor ingrese algun detalle para el articulo.";
}
else if(empty($imgFile)){ $errMSG = "Por favor Seleccione los Archivo de imagen.";
}
else
{
$upload_dir = '../galerias/'; // upload directory
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$imagen = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){ // Check file size '5MB'
if($imgSize < 10000000) {
}
else{
$errMSG = "¡ Ups Aviso: Lo siento, su archivo es demasiado grande !";
//header("refresh:5;registrar_multiple.php");
}
}
else{
$errMSG = "¡ Ups Aviso: Lo sentimos, sólo se permiten archivos JPG, JPEG, PNG y GIF !";
header("refresh:5;registrar_multiple.php"); }
}
// si no hay errores continuo...
{
$sql=$DB_con->prepare("INSERT INTO detalles_categorias (fk_categorias, precio, descripcion, detalles) VALUES
(:fk_categorias, :precio, :descripcion ,:detalles)");
$sql->bindParam(':fk_categorias',$_POST['fk_categorias']);
$sql->bindParam(':precio',$_POST['precio']);
$sql->bindParam(':descripcion',$_POST['descripcion']);
$sql->bindParam(':detalles',$_POST['detalles']);
$sql->execute();
$last_id = $DB_con->lastInsertId();
$sql2=$DB_con->prepare("INSERT INTO detalles_img (id, imagen) VALUES (:id, :imagen)");
$sql2->bindParam(':id',$last_id);
$sql2->bindParam(':imagen',$imagen);
if($sql2->execute())
{
$successMSG = "¡ Bien Hecho: Registro Insertado Correctamente !";
//header("refresh:5;registrar_multiple.php");
}
else
{
$errMSG = "¡ Ups Aviso: Hubo un error al insertar el registro !";
header("refresh:5;registrar_multiple.php");
}
}
}
}
?>