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
?>
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";
}
?>
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!