Si, mira el formulario es normal y corriente "multipart/form-data" aquí lo dejo un tanto abreviado para no volver loco a nadie con tanta letra :)
Código HTML:
<form action="subida.php" method="post" enctype="multipart/form-data">
Foto de perfil: <input type="file" name="imagen"><br />
<label class="ellabel" for="acercade" style="display:block;">Sobre mi...</label>
<textarea name="acercade" rows="8" cols="64"></textarea>
<label class="ellabel" for="info" style="display:block;">Inserta un email de contacto y/o un telefono.</label>
<label class="ellabel" for="email" style="display:block;">Email</label>
<input type="text" name="email" value="">
<label class="ellabel" for="telefono" style="display:block;">telefono</label>
<input type="text" name="telefono" value="">
<input type="submit" value="Guardar Perfil" >
</form>
Y luego donde proceso los datos también simplificado para no liar mucho la cosa:
Código PHP:
<?php
require ('conectar.php');
//conectar
$conn = conectar();
$mes = $_POST['mes'];
$dia = $_POST['dia'];
$ano = $_POST['ano'];
$pais = $_POST['pais'];
$provincia = $_POST['provincia'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$acercade = $_POST['acercade'];
$nombre_usu= $_SESSION['nombre'];
$tipo = $_FILES['imagen']['type'];
$tamano = $_FILES['imagen']['size'];
$usuario = $_SESSION['id'];
$nombre_carpeta = "./imagenes/".$usuario;
echo $nombre_carpeta;
$nombre = "imagen";
$info = pathinfo($_FILES[$nombre]['name']);
$uploadfile = $nombre_carpeta.".".$info['extension'];
if (move_uploaded_file($_FILES[$nombre]['tmp_name'], $uploadfile)) {
echo "<img src=".$uploadfile." />";
} else {
echo " probando probando error";
}
$sql="INSERT into perfil (id_usuario,nombre,sexo,dia_nac,mes_nac,ano_nac,pais,provincia,acercade) values ('$id_usuario','$nombre_usu','$sexo','$dia','$mes','$ano','$pais','$provincia','$acercade')";
$resultado=mysql_query($sql,$conn) or die (mysql_error());
?>