Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Paolacci, PrimFX
Ce topic a été résolu
Auteur Sujet: Problème avec le système d'avatar

Paolacci

Messages: 16

Bonjour, 
J'ai suivi le tutoriel : https://www.primfx.com/article/tuto-php-ajouter-une-photo-profil-avatar-163 pour pouvoir ajouter un avatar sur le profil de mes membres. 
Mais il y a un problème, j'ai bien suivi le tutoriel mais aucun fichier ne s'envoie, même dans la base de donnée on ne voit pas le nom de l'image... 

Voici ma base de donnée : 


Voici mon code html :
<form action="" method="POST" class="form-horizontal" enctype="multipart/form-data">
            <center><span class="btn green fileinput-button">
                              <i class="fa fa-plus"></i>
                              <span>
                              Ajouter un avatar</span>
                              <input type="file" name="avatar">
                              </span></center><br />

<div class="form-actions">
                                    <div class="row">
                                       <div class="col-md-offset-3 col-md-9">
                                          <button type="submit" class="btn btn-circle default">Confirmer le changement d'avatar</button>
                                       </div>
                                    </div>
                                 </div>
</form>

Voici mon code PHP : 
<?php 
   if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name']))
   {
     $taillemax = 2097152;
     $extensionvalides = array('jpg','jpeg','gif','png');
     if($_FILES['avatar']['size'] <= $taillemax)
    {
        $extensionupload = strtolower( substr(strrchr($_FILES['avatar']['name'],'.'),1));
            if(in_array($extensionupload,$extensionvalides))
      {
            $chemin = "/avatar/".$_SESSION['id'].".".$extensionupload;
            $resultat = move_uploaded_file($_FILES["avatar"]["tmp_name"], $chemin);
          
            if($resultat)
            {
                $updateavatar = $bdd->prepare('UPDATE `users` SET `avatar` = :avatar WHERE `id` = :id');
                $updateavatar->execute(array('avatar'=> $_SESSION['id'].".".$extensionupload,'id'=> $_SESSION['id']));
            header('location: profil.php');
            }
            else
            {
                $msg ="Erreur durant l'importation de votre photo de profil ";
            }
        }
        else
        {
        $msg = "Votre photo de profil doit etre format jpg,jpeg,gif ou png";
        }
   
     }
   }
      ?>
Merci d'avance pour votre aide !
Publicité

Paolacci

Messages: 16

EDIT : Maintenant le fichier s'envoie bien dans le dossier avatar mais il est sans nom mais dans la base de donnée toujours aucun trace... 

PrimFX
Membre Premium

Messages: 113

Salut !
Est-ce que tu vérifies quelque part dans ton code si l'utilisateur est bien connecté (et donc si la variable $_SESSION['id'] existe) avec une petite condition ? Clin d'oeil

Paolacci

Messages: 16

Problème résolu !! Merci beaucoup pour ton aide et pour tes vidéos ! Continue comme sa Sourire 


Veuillez vous connecter ou créer un compte pour poster une réponse