El caso es que he adaptado uno de tantos códigos que he ido encontrando y que en principio todo funcionaba... Hasta que me ha dado por mirar esos registros en la BD y en la carpeta, y no están.
¿Podríais indicarme que errores hay en el código que uso?
En principio, me gustaría que estuviese todo (HTML y PHP) en la misma página... Si es posible, aunque también he probado ese código en dos paginas separadas y tampoco guarda ni los datos ni la imagen.
Saludos.
Código HTML:
Ver original
<?php include ("Connections/miriamweb.php");?> <!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <?php if ($_FILES["imagen"]["error"] > 0){ echo "ha ocurrido un error"; //ahora vamos a verificar si el tipo de archivo es un tipo de imagen permitido. //y que el tamano del archivo no exceda los 100kb $permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png"); $limite_kb = 200; if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){ //esta es la ruta donde copiaremos la imagen //recuerden que deben crear un directorio con este mismo nombre //en el mismo lugar donde se encuentra el archivo subir.php $ruta = "album/" . $_FILES['imagen']['name']; //comprovamos si este archivo existe para no volverlo a copiar. //pero si quieren pueden obviar esto si no es necesario. //o pueden darle otro nombre para que no sobreescriba el actual. if (!file_exists($ruta)){ //aqui movemos el archivo desde la ruta temporal a nuestra ruta //usamos la variable $resultado para almacenar el resultado del proceso de mover el archivo //almacenara true o false $resultado = move_uploaded_file($_FILES["imagen"]["tmp_name"], $ruta); if ($resultado){///hasta aqui es para guardar la imagen en carpeta album/... Una vez hecho esto, se añaden los campos a la base de datos. $nombre = $_FILES['imagen']['name']; $GModo = $_POST['GModo']; $GSERIE = $_POST['GSerie']; $GTitulo = $_POST['GTitulo']; $GTecnica = $_POST['GTecnica']; $GFecha = $_POST['GFecha']; $GMedidas = $_POST['GMedidas']; $GDisponibilidad = $_POST['GDisponibilidad']; $Ganadir = "INSERT INTO `miriamweb`.`obras` (`ID`, `Medio`, `Serie`, `Titulo`, `Tecnica`, `Fecha`, `Medidas`, `Disponibilidad`, `Imagen`) VALUES (NULL, '$GModo', '$GSERIE', '$GTitulo', '$GTecnica', '$GFecha', '$GMedidas', '$GDisponibilidad1', '$nombre');"; echo "el archivo ha sido movido exitosamente"; } else { echo "ocurrio un error al mover el archivo."; } } else { echo $_FILES['imagen']['name'] . ", este archivo existe"; } } else { echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes"; } } ?> <form action="" method="POST" enctype="multipart/form-data"> <input type="text" name="GModo" required/> <input type="text" name="GSerie" required/> <input type="text" name="GTitulo" required/> <input type="text" name="GTecnica" required/> <input type="text" name="GFecha" required/> <input type="text" name="GMedidas" required/> <input type="text" name="GDisponibilidad" required/> <input type="file" name="imagen" id="imagen" required/> <input type="submit" name="subir" value="Añadir"/> </form> </body> </html>