Autor
|
Tema: La imagen se sube a la carpeta pero no sube nada a la base de datos (Leído 9,919 veces)
|
EdwardX
Desconectado
Mensajes: 18
|
Buenas, ¿Qué tal? Estoy intentando subir varios datos guardados en variables, la imagen sube a la carpeta local indicada perfectamente, pero a la base no sube ninguna de las variables: $titulodisco, $grupoartista, $anopublicacion, $sello, $titulostemas, $musicosdisco, $comentariodisco ¿Alguien le podría echar un vistazo? ¡Gracias! <?php echo "Error al conectar a la base de datos." . mysql_error(); } if(!isset($seleccionar_bd)){ echo "Error al seleccionar la base de datos." . mysql_error(); } //DE FORMULARIO A VARIABLE// $titulodisco = $_POST["titulodisco"]; $grupoartista = $_POST["grupoartista"]; $anopublicacion = $_POST["anopublicacion"]; $sello = $_POST["sello"]; $titulostemas = $_POST["titulostemas"]; $musicosdisco = $_POST["musicosdisco"]; $comentariodisco = $_POST["comentariodisco"]; //SUBIDA DE IMAGEN// $carpeta = "imagenesdiscos/"; $destino=$carpeta.$_FILES['imagendisco']['name']; copy($_FILES['imagendisco']['tmp_name'],$destino); echo "Archivo subido exitosamente"; $nombre=$_FILES['imagendisco']['name']; echo "<img src=\"/jazzgune/imagenesdiscos/$nombre\">"; //INSERTAR DE VARIABLE A TABLA DE BASE DE DATOS// $consulta = mysql_query("INSERT INTO discos(titulo,artista,ano,sello,temas, artistas,comentario,fotodisco) VALUES ('$titulodisco','$grupoartista','$anopublicacion','$sello','$titulostemas','$musicosdisco','$comentariodisco')"); echo "Error al insertar los datos en la tabla. ". mysql_error(); } else echo"Correcto"; ?>
|
|
« Última modificación: 29 Agosto 2016, 00:09 am por retegi84 »
|
En línea
|
Aprendiz eterno
|
|
|
bengy
Desconectado
Mensajes: 501
mis virtudes y defectos son inseparables
|
es necesario para ti subir las imagenes a la base de datos? o solo puedes subir la direccion de la imagen, solo la referencia.
|
|
|
En línea
|
|
|
|
#!drvy
|
En tu query le dices a mysql que inserte 8 parámetros pero solo le pasas 7. Es decir, nunca le pasas la foto que es la ultima variable. INTO discos(titulo,artista,ano,sello,temas, artistas,comentario,fotodisco)
^ se cuentan 8 variables. VALUES ('$titulodisco','$grupoartista','$anopublicacion','$sello','$titulostemas','$musicosdisco','$comentariodisco')
^ Solo le damos 7 Saludos
|
|
« Última modificación: 29 Agosto 2016, 09:01 am por #!drvy »
|
En línea
|
|
|
|
EdwardX
Desconectado
Mensajes: 18
|
Gracias, Lo que quiero y creo que se debe hacer, es subir la imagen a una carpeta local (ya lo he conseguido), y subir la ruta a la base de datos. ¿Se hace así? ¿Cómo sería? Ahora mismo a la base de datos no me llega ninguno de estos datos, pero la imagen llega a la carpeta local. Saludos y muchas gracias por vuestras respuestas.
|
|
« Última modificación: 29 Agosto 2016, 14:11 pm por retegi84 »
|
En línea
|
Aprendiz eterno
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.696
🏴 Libertad!!!!!
|
ya te respondieron!
Esta mal tu query.. Y si se hace asi, se guarda el archivo en X carpeta y el nombre del archivo en la base de datos.
Saludos
|
|
|
En línea
|
|
|
|
EdwardX
Desconectado
Mensajes: 18
|
Gracias AlbertoBSD! Revisaré el jquery como decís a ver qué se me ocurre para guardar la ruta en la base de datos. No domino php la verdad, pero voy aprendiendo. Gracias!
|
|
|
En línea
|
Aprendiz eterno
|
|
|
EdwardX
Desconectado
Mensajes: 18
|
Efectivamente los siete valores de las variables se han introducido perfectamente al igualar 7 a 7. Me queda pendiente la ruta de las imágenes Saludos y gracias a todos!
|
|
|
En línea
|
Aprendiz eterno
|
|
|
EdwardX
Desconectado
Mensajes: 18
|
Buenas, tras largos ratos, no lo consigo, Veo y veo videotutoriales sobre cómo subir rutas de imagen, pero algunos indican cómo subir archivo a la base de datos...(esto no quiero, creo que como me decís lo mejor es subir la imagen a una carpeta que tengo llamado "Imagenes discos", y la ruta a la base de datos.). Otros al formulario les añaden un "nombre" para el archivo...¿El usuario poner un nombre al archivo que debe subir? Eso queda raro...xD ¿Alguien me podría echar un cable? Creo que debería haber un código u orden que haga que del archivo, coja el nombre de archivo y lo guarde en la tabla de la base de datos que le he llamado discos, en la casilla fotodisco. ¿Cómo sería? Lo que si me funciona es que la imagen se guarda en la carpeta. Pero me falta: -Guardar la ruta. -Mostrar la imagen utilizando la ruta guardada. ¡Muchas gracias y perdonad que sea un novato...xD
|
|
|
En línea
|
Aprendiz eterno
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.696
🏴 Libertad!!!!!
|
Hola por defecto los archivos se encuentran en un directorio temporal, por lo menos asi lo recuerdo yo. Trata de ver si el archivo existe:
Podrias agregar el codigo de tu formulario donde adjuntas el archivo, informar de cuanto pesa el archivo y adiconal ver si tienes autorizado el upload de archivos con php info Saludos
|
|
|
En línea
|
|
|
|
EdwardX
Desconectado
Mensajes: 18
|
Buenas, ¿Qué tal? Primero gracias por el interés. Tal y como me habéis comentado y con razón, añado el código. He colocado 3 partes (no he puesto todo el html ya que sería muy largo para pegarlo aquí). Este que es el formulario es un archivo ( publicardisco.php), y más abajo veréis el del archivo ( verificarpublicardisco.php) y finalmente otro para imprimir resultado ( discos.php) Como comenté, las imágenes si que se guardan en la carpeta local indicada, los datos del formulario también en la base de datos. Lo que me falta que funcione y no consigo es: -Guardar ruta de foto en base de datos -Publicar la imagen de la carpeta local guardadaBASE DE DATOS: JAZZGUNE TABLA: DISCOSDATOS: titulodisco, grupoartista, anopublicacion, sello, titulostemas, musicosdisco, comentariodisco e imagendisco1.-FORMULARIO:/*FORMULARIO en HTML */ <form action="verificarpublicardisco.php" method="POST" enctype="multipart/form-data"> <h2>Publicar Disco</h2> <input type="text" name="titulodisco" id="titulodisco" placeholder="Título del Disco"><br> <input type="text" name="grupoartista" id="grupoartista" placeholder="Grupo o artista"><br> <input type="text" name="anopublicacion" id="anopublicacion" placeholder="Año de la publicación"><br> <input type="text" name="sello" id="sello" placeholder="Sello"><br> <textarea rows="5" cols="60" type="text" name="titulostemas" id="titulostemas" placeholder="Títulos de los temas del disco"></textarea><br> <textarea rows="5" cols="60" type="text" name="musicosdisco" id="musicosdisco" placeholder="Artistas que has formado parte del disco"></textarea><br> <textarea rows="5" cols="60" type="text" name="comentariodisco" id="comentariodisco" placeholder="Comentario"></textarea><br> <label>Foto de la portada del disco</label><br> <input type="file" name="imagendisco" id="imagendisco" placeholder="Imagen del disco"><br> <input type="submit" name="btnGuardar" value="Publicar disco" id="enviar"> </form>
2.-GUARDAR DATOS DEL FORMULARIO EN BASE DE DATOS E IMAGEN EN CARPETA LOCAL:/*ARCHIVO: verificardisco.php*/ <?php echo "Error al conectar a la base de datos." . mysql_error(); } if(!isset($seleccionar_bd)){ echo "Error al seleccionar la base de datos." . mysql_error(); } //DE FORMULARIO A VARIABLE// $titulodisco = $_POST["titulodisco"]; $grupoartista = $_POST["grupoartista"]; $anopublicacion = $_POST["anopublicacion"]; $sello = $_POST["sello"]; $titulostemas = $_POST["titulostemas"]; $musicosdisco = $_POST["musicosdisco"]; $comentariodisco = $_POST["comentariodisco"]; //INSERTAR DE VARIABLE A TABLA DE BASE DE DATOS// */ $consulta = mysql_query("INSERT INTO discos(titulo,artista,ano,sello,temas, artistas,comentario) VALUES ('$titulodisco','$grupoartista','$anopublicacion','$sello','$titulostemas','$musicosdisco','$comentariodisco')"); echo "Error al insertar los datos en la tabla. ". mysql_error(); } else echo"Correcto"; ?>
3.-PUBLICAR DATOS INCLUIDA LA FOTO GUARDADA EN LA CARPETA LOCAL: include("conexion.php"); $consulta = mysql_query("SELECT * FROM discos ORDER BY ano ASC"); echo "<div id='areaarticulodisco'>"; echo "<div id='areafotodisco'>"; echo "<img id='fotodeldisco''>"; echo "</div>"; echo "<div id='detallesdisco'>"; echo "<div id='titulodisco'>"; echo "<a id='titulossecdiscos'>Título: </a>"; echo $registro["titulo"]; echo "</div>"; echo "<div id='artistadisco'>"; echo "<a id='titulossecdiscos'>Artista: </a>"; echo $registro["artista"]; echo "</div>"; echo "<div id='anodisco'>"; echo "<a id='titulossecdiscos'>Año: </a>"; echo $registro["ano"]; echo "</div>"; echo "<div id='sellodisco'>"; echo "<a id='titulossecdiscos'>Sello: </a>"; echo $registro["sello"]; echo "</div>"; echo "<div id='artistasdisco'>"; echo "<a id='titulossecdiscos'>Músicos: </a>"; echo $registro["artistas"]; echo "</div>"; echo "<div id='comentariodisco'>"; echo "<a id='titulossecdiscos'>Comentario: </a>"; echo $registro["comentario"]; echo "</div>"; echo "</div>"; echo "</div>";
|
|
« Última modificación: 31 Agosto 2016, 23:41 pm por retegi84 »
|
En línea
|
Aprendiz eterno
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Havij detecta base de datos pero..con nombres raros .miren la imagen pliss
Bugs y Exploits
|
palomito
|
3
|
5,136
|
11 Abril 2013, 06:42 am
por elmasmalo1
|
|
|
Vimeo se sube al carro del Terabyte, pero sólo en sus cuentas de pago
Noticias
|
wolfbcn
|
0
|
1,074
|
16 Octubre 2013, 02:07 am
por wolfbcn
|
|
|
Vodafone sube sus tarifas entre 1 y 9 euros a cambio de más datos y servicios
Noticias
|
wolfbcn
|
2
|
1,740
|
11 Abril 2015, 22:46 pm
por Orubatosu
|
|
|
Youtube sube el listón, nada de anuncios en canales con pocas visitas
Noticias
|
wolfbcn
|
1
|
2,255
|
8 Abril 2017, 12:14 pm
por warcry.
|
|
|
Movistar sube el precio de los datos extra si nos pasamos de la tarifa ...
Noticias
|
wolfbcn
|
0
|
953
|
17 Mayo 2017, 20:54 pm
por wolfbcn
|
|