Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/06/2011, 06:08
tonisaez
 
Fecha de Ingreso: mayo-2011
Mensajes: 9
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Subir imagenes y datos a base de datos

He hecho lo que os dejo aquí y parece que funciona. Igual se puede hacer mejor... En todo caso lo dejo para quien pueda necesitar algo parecido.
Se trata de subir una imagen (la ruta a la base de datos y el archivo archivo jpg a una carpeta), así como los valores de los campos categoría, título, descripción y fecha a esa base de datos
Comentar que el campo categoria incluye varias opciones a escojer, cuyos valores serán los que se pondrán en la tabla correspondiente en la base de datos

User de la Base de datos: userdatabase
pass: password
nombre base de datos: namedatabase
tabla de la base de datos: tabla
campos de la tabla: (id,imagen,descripcion,titulo,fecha,categoria)
las imagenes se guardan en la carpeta llamada imagenes

1º se monta el formulario en el archivo formulario.html que va a buscar el archivo procesar.php:
Código HTML:
Ver original
  1. <title>formulario.html</title>
  2. </head>
  3. <form action="procesar.php" enctype="multipart/form-data" method="post">
  4.     <label for="imagen"><span class="Estilo1">Imatge:</span></label>
  5.     <span class="Estilo1">
  6.     <input id="imagen" name="imagen" size="30" type="file" />
  7.  
  8.     <br />
  9.     <br />
  10.     Categoria: <select id="categoria" name="categoria" style="width: 126px; height: 33px">
  11.     <option value="botiga">botiga</option>
  12.     <option value="noticies">noticies</option>
  13.     <option value="carns">carns</option>
  14.     <option value="altres">altres</option>
  15.     <option value="catering">catering</option>
  16.     <option value="cuinats">cuinats</option>
  17.     </select><br />
  18.     <br />
  19.     Titol:
  20.     <input id="titulo" name="titulo" type="text" style="width: 205px" /><br />
  21.     <br />
  22.     Descripcio:
  23.     <textarea id="descripcion" name="descripcion" style="width: 264px; height: 150px"></textarea><br />
  24.     <br />
  25.     Data: <input id="fecha" name="fecha" style="width: 173px" type="text" /><br />
  26.     <br />
  27.  
  28.     <input name="submit" type="submit" value="Guardar" />
  29.     <br />
  30.     </span>
  31. </form>
  32. </body>
  33. </html>

2º se crea el archivo procesar.php:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     // Datos de conexión a configurar
  4.     $user = "userdatabase";
  5.     $pass = "pass";
  6.     $bbdd = "namedatabase";
  7.  
  8.     // Ruta donde se guardarán las imágenes
  9.     $directorio = $_SERVER['DOCUMENT_ROOT'].'/imagenes/';
  10.  
  11.     // Conecto a la BBDD
  12.     $dbh = mysql_connect("localhost", $user, $pass);
  13.     $db = mysql_select_db($bbdd);
  14.  
  15.     // Recibo los datos de la imagen y del formulario anteriormente montado
  16.     $nombre = $_FILES['imagen']['name'];
  17.     $tipo = $_FILES['imagen']['type'];
  18.     $tamano = $_FILES['imagen']['size'];
  19.     $titulo = $_POST['titulo'];
  20.     $descripcion = $_POST['descripcion'];
  21.     $fecha = $_POST['fecha'];
  22.     $categoria = $_POST['categoria'];
  23.  
  24.     // Muevo la imagen desde su ubicación
  25.     // temporal al directorio definitivo
  26.     move_uploaded_file($_FILES['imagen']['tmp_name'],$directorio.$nombre);
  27.  
  28.      // Guardamos en la BBDD todos los datos
  29.     $sql = "INSERT into tabla (imagen,descripcion,titulo,fecha,categoria) values ('/imagenes/$nombre','$descripcion','$titulo','$fecha','$categoria')";
  30.     $resultado = mysql_query($sql);
  31. ?>

Espero que les funcione!