Avatar dans un espace membre

azl

azl Le 5 septembre 2016 à 21:53 (Édité le 25 janvier 2019 à 17:52)

Voilà j'ai un problème avec l'upload d'avatar dans un espace membre.
J'ai suivi le tuto de PrimFX, à la lettre bien sur ainsi j'ai du relire une vingtaine de fois le code.

Lorsque j'upload mon avatar, j'ai mon message d'erreur général " Erreur durant l'upload de l'avatar ", et bien sur rien d'upload dans mon répertoire ansi que rien d'écrit dans ma bdd.

Donc voici mon code : 

<?php

// on récupère l'avatar

if (isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name']))
{

    $taillemax = 2097152;
    $extensionsvalides = array('jpg', 'jpeg', 'gif', 'png');
    if ($_FILES['avatar']['size'] <= $taillemax)
    {
        $extensionupload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
        if(in_array($extensionupload, $extensionsvalides))
        {

            $chemin = "users/avatars".$_SESSION['auth']->id.".".$extensionupload;
            $resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
            if($resultat)
            {

                require("inc/db.php"); // Connection à la base de données.

                $updateavatar = $bdd->prepare('UPDATE users SET avatar= :avatar WHERE id= :id');
                $updateavatar->execute(array(

                    'avatar' => $_SESSION['auth']->id.".".$extensionupload,
                    'id' => $_SESSION['auth']->id

                ));

            }
            else
            {

                $msg = "Erreur durant l'upload de l'avatar";

            }

        }
        else {

            $msg = "Format avatar .jpg, .gif, png, .jpeg";

        }
    }
    else
    {
        $msg = " Avatar doit être de 2Mo maximum.";
    }
}

?>
<?php echo $msg ?>
<form action="" method="post" class="form" enctype="multipart/form-data">
    <tr>
        <td align="right">Avatar <i>(max 2 Mo)</i> : </td>
        <td><input style="width:200px;" type="file" name="avatar" /> <input type="submit" value="Envoyer"></td>
    </tr>
</form>
avant qu'on me le demande, j'ai bien fait appelle à ma session, ainsi que mon fichier pour se connecter à la base de donnée est correct aussi.
Balatharas

Balatharas Le 6 septembre 2016 à 17:32

Hello 😋,
 $chemin = "users/avatars".$_SESSION['auth']->id.".".$extensionupload;
Essaie ceci:
 $chemin = "users/avatars/".$_SESSION['auth']->id.".".$extensionupload;
faucon_noir

faucon_noir Le 19 septembre 2016 à 02:57

salut, as tu d'abord fait une insertion dans la base de données avant de faire une mise à jour.
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte