Hola a todos,
Hace poco que he comenzado con esto del php y he llegado a un punto en el cual me supera. Estoy creando un formulario para un portal inmobiliario y he creado todos los campos para que me los inserte en mi base de datos, pero el campo para el archivo no hay forma de que me lo suba a la base, y pruebe lo que pruebe me da error.
Para subir la imagen a la base de datos he estado viendo un tutorial que tenéis en foros del web y si subo la imagen por separado del formulario me funciona, pero si lo intento mezclar con los demas campos y adaptarlo no funciona. El tutorial este:
http://www.forosdelweb.com/f18/tutor...inario-127775/
Os paso los cosigos que estoy utilizando y me decíis si sabéis como se puede hacer!
Codigo del formulario:
Código PHP:
<?php
$conexion = mysql_connect('localhost', 'usuario', 'contraseña');
mysql_select_db('nombre base de datos');
?>
<FORM enctype="multipart/form-data" method="post" action="fotobd.php">
<!-- Comienzo tabla 1 !-->
<label>Tipo de vivienda:<br />
<select name="tipovivienda" id="tipovivienda">
<option value="0">--Escoja tipo alquiler--</option>
<?php
$tablavivienda = mysql_query("SELECT * FROM vivienda ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrovivienda = mysql_fetch_array($tablavivienda)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
<option value="<?php echo $registrovivienda['id']; ?>"><?php echo $registrovivienda['tipo']; ?></option>
<?php
} // termina la zona de repeticion
mysql_free_result($tablavivienda); // se libera la memoria usada por la tabla
?>
</select>
</label>
<font color="red">(*)</font></p>
<p>
<label>Ciudad:<br />
<select name="ciudad" id="ciudad">
<option value="0">---Escoja la ciudad---</option>
<?php
$tablaciudades = mysql_query("SELECT * FROM ciudades ORDER BY nombre ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrociudad = mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
<option value="<?php echo $registrociudad['id']; ?>"><?php echo $registrociudad['nombre']; ?></option>
<?php
} // termina la zona de repeticion
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>
</select>
<font color="red">(*)</font><br />
<br />
<label>Población / Zona:<br />
<input name="poblacion" type="text" id="poblacion" size="21" maxlength="30" />
<font color="red">(*)</font><br />
<br /><label>
<label>E-mail:<br />
<input name="email" type="text" id="email" size="21" maxlength="50" />
<font color=red>(*)</font></label>
<br />
<br />
<label>Teléfono:
<br />
<input name="telefono" type="text" id="telefono" size="21" maxlength="30" />
</label>
<!-- Fin tabla 1 !-->
<br />
<br />
<label>Precio:<br />
<input name="precio" type="text" id="precio" size="16" maxlength="20" />
</label>
</p>
<p>
<label>Metros Cuadrados:<br />
<input name="m2" type="text" id="m2" size="16" maxlength="10" />
</label>
<br />
<br />
<label>Nº Habitaciones:
<br />
<input name="habitaciones" type="text" id="habitaciones" size="16" maxlength="2" />
</label>
<br />
<br />
<label>Nº Baños:
<br />
<input name="banos" type="text" id="banos" size="16" maxlength="2" />
</label>
</p>
<p>
<label>Segundamano
<input name="estado" type="radio" id="estado_0" value="Segundamano" checked="checked" />
</label>
<label>Obra Nueva
<input type="radio" name="estado" value="Obra Nueva" id="estado_1" />
</label>
</p>
<label>Opción a Compra: Si
<input name="opcion" type="radio" id="opcion_0" value="Si" checked="checked" />
</label>
<label>No
<input type="radio" name="opcion" value="No" id="estado_1" />
</label>
</p>
<p>
<label>Particular
<input name="cliente" type="radio" id="cliente_0" value="Particular" checked="checked" />
</label>
<label>Inmobiliaria
<input type="radio" name="cliente" value="Inmobiliaria" id="cliente_1" />
</label>
</p>
<p>
<label>Descripción Inmueble<br />
<textarea name="descripcion" id="descripcion" cols="40" rows="5"></textarea>
</label>
</p>
<p>
<label>Archivo: <br />
<INPUT type="file" name="archivo" size="30">
</label>
</p>
<p>
<input type="submit" name="cmdBuscar" id="cmdBuscar" value="Enviar">
</p>
<p> </p>
</form>
<?php
mysql_close($conexion); // Cierro la conexion con la base de datos
?>
Codigo para insertar la imagen en la base de datos:
Código PHP:
<?php
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
if(isset($_POST['tipovivienda']) && !empty($_POST['tipovivienda']) &&
isset($_POST['ciudad']) && !empty($_POST['ciudad']) && isset($_POST['poblacion']) && !empty($_POST['poblacion']) && isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['telefono']) && !empty($_POST['telefono']) && isset($_POST['precio']) && !empty($_POST['precio']) && isset($_POST['habitaciones']) && !empty($_POST['habitaciones']) && isset($_POST['banos']) && !empty($_POST['banos']) && isset($_POST['m2']) && !empty($_POST['m2']) && isset($_POST['cliente']) && !empty($_POST['cliente']) && isset($_POST['estado']) && !empty($_POST['estado']) && isset($_POST['opcion']) && !empty($_POST['opcion']) && isset($_POST['descripcion']) && !empty($_POST['descripcion'])) {
// Si entramos es que todo se ha realizado correctamente
$link = mysql_connect("localhost","usuario","contraseña");
mysql_select_db("nombre base de datos",$link);
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO propiedades (idvivienda,idciudad,poblacion,email,telefono,precio,habitaciones,banos,m2,cliente,estado,opcion,descripcion)
VALUES ('{$_POST['tipovivienda']}','{$_POST['ciudad']}','{$_POST['poblacion']}','{$_POST['email']}','{$_POST['telefono']}','{$_POST['precio']}','{$_POST['habitaciones']}','{$_POST['banos']}','{$_POST['m2']}','{$_POST['cliente']}','{$_POST['estado']}','{$_POST['opcion']}','{$_POST['descripcion']}')",$link);
// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);
if(!empty($my_error)) {
echo "Ha habido un error al insertar los valores. $my_error";
} else {
echo "Los datos han sido introducidos satisfactoriamente";
}
} else {
echo "Error, no ha introducido todos los datos";
}
?>
Este es el código que intento amoldar con el tutorial pero no lo consigo, así que lo dejo como estaría sin introducir ningún tipo de codigo para insertar la imagen y así lo veréis más claro.
Perdonar por el desorden de los códigos pero como ya os he dicho los estoy utilizando para hacer pruebas.
Si tenéis cualquier otra pregunta no dudéis en hacermela!
Gracias y un saludo!