Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Insertar imagenes por separado en base de datos (Ayuda)

Hola, quería saber si me pueden ayudar con el código... Hice un form y debo enviar 4 imágenes por separado, pero no se si estoy insertando bien el código para que se guarden en la base de datos.

Les dejo el código para que puedan verlo..
<?php
require_once('../conexion.php');
//Validar formulario


if(!isset($_POST['provincia']) || $_POST['provincia']=='' || $_POST['ciudad']=='' || $_POST['imagenavatar']=='' || $_POST['imagendnia']=='' || $_POST['imagendnit']=='' || $_POST['imagentitulo']=='' || $_POST['titulo']=='') exit;

if ($_FILES['imagenavatar']['type']=='image/gif' || $_FILES['imagenavatar']['type']=='image/jpg' || $_FILES['imagenavatar']['type']=='image/jpeg' || $_FILES['imagenavatar']['type']=='image/png' && $_FILES['imagendnia']['type']=='image/gif' || $_FILES['imagendnia']['type']=='image/jpg' || $_FILES['imagendnia']['type']=='image/jpeg' || $_FILES['imagendnia']['type']=='image/png' && $_FILES['imagendnit']['type']=='image/gif' || $_FILES['imagendnit']['type']=='image/jpg' || $_FILES['imagendnit']['type']=='image/jpeg' || $_FILES['imagendnit']['type']=='image/png' && $_FILES['imagentitulo']['type']=='image/gif' || $_FILES['imagentitulo']['type']=='image/jpg' || $_FILES['imagentitulo']['type']=='image/jpeg' || $_FILES['imagentitulo']['type']=='image/png'){


//Subir el fichero
$extension= explode('/',$_FILES['imagenavatar']['type']);
$nombre=$_SESSION['iduser'].'1'.'.'.$extension[1];
move_uploaded_file($_FILES['imagenavatar']['tmp_name'], '../user/avatar/'.$nombre);

$extensionn= explode('/',$_FILES['imagendnia']['type']);
$nombrednia=$_SESSION['iduser'].'2'.'.'.$extension[1];
move_uploaded_file($_FILES['imagendnia']['tmp_name'], '../user/dniadelante/'.$nombrednia);

$extensionnn= explode('/',$_FILES['imagendnit']['type']);
$nombrednit=$_SESSION['iduser'].'3'.'.'.$extension[1];
move_uploaded_file($_FILES['imagendnit']['tmp_name'], '../user/dniatras/'.$nombrednit);

$extensionnnn= explode('/',$_FILES['imagentitulo']['type']);
$nombretitulo=$_SESSION['iduser'].'4'.'.'.$extension[1];
move_uploaded_file($_FILES['imagentitulo']['tmp_name'], '../user/fototitulo/'.$nombretitulo);
}
  //INSERTAR POST
  $accion_adduser = sprintf("INSERT INTO m_posts (Provincia, Ciudad, avatar, dniadelante, dniatras, fototitulo, titulo) VALUES (%s, %s, %s, %s, %s, %s, %s)",
     formatearcadena($_POST['provincia'],'int'),
     formatearcadena($_POST['ciudad'],'int'),
     formatearcadena($_POST['imagenavatar'],'text'),
     formatearcadena($_POST['imagendnia'],'text'),
     formatearcadena($_POST['imagendnit'],'text'),
     formatearcadena($_POST['imagentitulo'],'text'),
     formatearcadena($_POST['titulo'],'text'));

  $consulta_adduser = mysqli_query($conexion,$accion_adduser) or die(mysqli_error());

  $iduser=mysqli_insert_id($conexion);
  

  $_SESSION['iduser']=$iduser;
  $_SESSION['nombreuser']=$_POST['user'];


  echo 'correcto';




?>
Muchas Gracias!
Saludos
0
Puntos
113
Visitas
2
Resp
Por Agustin hace 2 meses
Principiante
Respuesta #1
hola tendrías que insertar los nombres directamente, ten en cuenta que las imagenes se guardan en carpetas no en la base de datos.. es decir en la base de datos se guardan los nombres para después cargarlos desde sus respectivas carpetas.

por ejemplo:
//INSERTAR POST
  $accion_adduser = sprintf("INSERT INTO m_posts (Provincia, Ciudad, avatar, dniadelante, dniatras, fototitulo, titulo) VALUES (%s, %s, %s, %s, %s, %s, %s)",
     formatearcadena($_POST['provincia'],'int'),
     formatearcadena($_POST['ciudad'],'int'),
     formatearcadena($nombre,'text'), //insertamos el nombre de la imagen correspondiente
     formatearcadena($nombrednia,'text'), //insertamos el nombre de la imagen correspondiente
     formatearcadena($nombrednit,'text'), //insertamos el nombre de la imagen correspondiente
     formatearcadena($nombretitulo,'text'), //insertamos el nombre de la imagen correspondiente
     formatearcadena($_POST['titulo'],'text'));
comprueba con esto que al hacer la inserción en la base de datos quedan guardados los nombres correspondientes y las imágenes en sus carpetas :)

se después de eso necesitas un cable para visualizar las imágenes en sus respectivos sitios, pásate de nuevo por aquí y lo vemos

salu2
0
Puntos
Por alber hace 2 meses
Administrador
Respuesta #2
y disculpa por la demora pero hemos estado un tiempo desconectados ;)
0
Puntos
Por alber hace 2 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate