Bonjour,
Voila je rencontre un petit problème avec mon code.
je veux prendre une photo, et l'inserer à ma base de donnée pour la recuperer sur les profils de chacun.
Ca c'est ma page de modiffication de profil: tout fonctionne sauf la photo
<?php
session_start();
try { 
$bdd = new PDO('mysql:host=localhost;dbname=dbprotect', 'root', ''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);;
 } 
catch (Exception $e) 
{        
die('Erreur : ' . $e->getMessage()); }
if(isset($_SESSION['id_user']))
{
    $req= $bdd->prepare("SELECT * FROM membres WHERE id_user= ?");
    $req ->execute(array($_SESSION['id_user']));
    $userinfo= $req->fetch();
/*remplacer login (nom d'utilisateur)*/
    if(isset($_POST['new_login']) AND !empty($_POST['new_login']) AND $_POST['new_login'] != $userinfo['login']) 
    {
        $new_login = htmlspecialchars($_POST['new_login']);
        $insert_login = $bdd->prepare("UPDATE membres SET login = ? WHERE id_user = ?");
        $insert_login->execute(array($new_login, $_SESSION['id_user']));
        header('Location: profil.php?id_user='.$_SESSION['id_user']);
    }
/*remplacer mail*/
    if(isset($_POST['new_mail']) AND !empty($_POST['new_mail']) AND $_POST['new_mail'] != $userinfo['mail']) 
    {
        $new_mail = htmlspecialchars($_POST['new_mail']);
        $insert_mail = $bdd->prepare("UPDATE membres SET mail = ? WHERE id_user = ?");
        $insert_mail->execute(array($new_mail, $_SESSION['id_user']));
        header('Location: profil.php?id_user='.$_SESSION['id_user']);
    }
/*remplacer mot de passe si les deux sont égaux */
    if(isset($_POST['new_pass']) AND !empty($_POST['new_pass']) AND isset($_POST['new_pass2']) AND !empty($_POST['new_pass2'])) 
    {
        $new_pass= sha1($_POST['new_pass']);
        $new_pass2= sha1($_POST['new_pass2']);
        if($new_pass==$new_pass2)
        {
            $insert_pass = $bdd->prepare("UPDATE membres SET pass = ? WHERE id_user = ?");
            $insert_pass->execute(array($new_pass, $_SESSION['id_user']));
            header('Location: profil.php?id=_user'.$_SESSION['id_user']);
        }
        else 
        {
            $msg = "Vos mots de passe ne correspondent pas!";
        }
    }
    if(isset($_FILES['photo_profil']) AND !empty($_FILES['photo_profil']['name']))
    {
        /*2 mega octet */
        $tailleMax= 2097152;
        $extensionsValides= array('jpg', 'jpeg', 'gif', 'png');
        if($_FILES['photo_profil']['size']<=$tailleMax)
        {
            /* strtolower= mettre en minuscule au cas où "JPeg"    substr= ignorer premier caractere (ici 1)      strrchr=prendre extension fichier avec '.' */
            $extensionUpload = strtolower(substr(strrchr($_FILES['photo_profil']['name'], '.'),1));
            if(in_array($extensionUpload, $extensionsValides))
            {
                $chemin= "membres/photo_profil/".$_SESSION['id_user'].".".$extensionUpload;
                $resultat = move_uploaded_file($_FILES['photo_profil']['tmp_name'], $chemin);
                    if($resultat)
                    {
                        $updatephoto=$bdd->prepare("UPDATE membres SET photo_profil = ? WHERE id_user = ?");
                        $updatephoto ->execute(array(
                            'photo_profil' => $_SESSION['id_user'].".".$extensionUpload ,
                            'id_user'=> $_SESSION['id_user'] ));
                    }
                    else
                    {
                        echo'Erreur lors du transport de vote fichier ';
                    }
            }
            else
            {
                echo'Votre photo de profil doit être du format jpg, jpeg, gif, png ';
            }
        }
        else
        {
            echo'Votre photo de profil ne doit pas dépasser 2Mo';
        }
    }
    if(isset($_POST['new_login']) AND $_POST['new_login'] == $userinfo['login'])
    {
    header('Location: profil.php?id_user='.$_SESSION['id_user']);
    }
?>
<html>
<head>
<title> Profil </title>
<link rel = "stylesheet" type="text/css" href="css/visuel_modif_profil.css" />
</head>
<body>
        <form method="POST" action="" enctype="multipart/form-data">
            <label> Nom d'utilisateur: </label>
            <input type="text" name="new_login" placeholder="Nom utilisateur" value=<?php echo $userinfo['login']?> /> <br /> <br />
            <label> Mail: </label>
            <input type="text" name="new_mail" placeholder="mail"value=<?php echo $userinfo['mail']?> /> <br /> <br />
            <label> Nouveau Mot de passe: </label>
            <input type="password" name="new_pass" placeholder="Mot de passe" /> <br /> <br />
            <label> Confimation: </label>
            <input type="password" name="new_pass2" placeholder="Confirmation du mot de passe"/> <br /> <br />
            <input type="submit" value="Mettre à jour"/> <br /> <br />
        </form>
        <p><a href="profil.php?id_user=".<?php $_SESSION['id_user']?> ."> <strong> Ne rien changer et retourner au profil <a></p>
            <?php if(isset($msg)) {echo $msg; } ?> <br />
            <a href='deconnexion.php'> Se déconnecter </a>
    </div>
</body>
</html>
<?php
}
else
{header("Location:ConnexionDepart.php"); 
exit;
} 
?>Donc je mets l'image dans mon dossier membres puis photo de profil en lui donnant le nom: "id de la session"."extension"
Ce nom je le mets dans ma base de donnée pour qu'on puisse le retrouver facilement
L'image se mets bien dans mes dosser et a le bon nom, SAUF! qu'ellle n'apparait pas dans ma base de donnée... Qu'est ce qui cloche?
 
  Bonjour,
 
  Bonjour!
Je devrais le placer où? comme pour des $-POST classiques mais du coup sur le $FILES?
D'accord! Je vais cherche comment çamarche, merci!
En fait dans le code de base ils etaient nommé, mais comme je n'arrivais pas à les rentrer je les ai remplacé par "?" dans la requete pour voir si ca changait quelque chose, j'ai oublie de remodifier après. Ca ne change rien au resultat.  
$updatephoto=$bdd->prepare("UPDATE membres SET photo_profil = :photo_profil WHERE id_user = :id_user");
                        $updatephoto ->execute(array(
                            'photo_profil' => $_SESSION['id_user'].".".$extensionUpload ,
                            'id_user'=> $_SESSION['id_user'] )); 
  Bonsoir.
Il n'y a aucun input dans ton formulaire correspondant à ton upload de fichier.
Autre chose, ton lien pour la page profil.php, tu devrais le corriger au niveau PHP.