PHP

Problème d'affichage d'avatar par defaut

Résolu

Bonjour à tous,


Je continu mon aventure sur la création d'un site de A à Z et je me retrouve face a un nouveau problème, je vous explique tout ça.


j'en suis a la partie N°34 : Afficher les avatars, alors j'arrive bien a créer un avatar pour un profil il n'y a pas de soucis la dessus, mais l'avatar par defaut ne veux pas s'afficher, j'ai pourtant suivi le tuto a la lettre, j'ai bien créer le sous dossier "defaut" dans le dossier public, le code associé est bon je les relu X fois... mais rien y fait, et lorsque j'inspecte la page via mon navigateur (chrome) il m'affiche l'avatar d'un autre utilisateur, c'est à rien y comprendre. Et pour courroner le tout je n'ai pas de message d'erreur... c'est à s'en tirer les cheveux (enfin le peu qu'il en reste 😂)


Voici mon code au cas où :

<?php
    require_once ('../include.php');


    if (!isset($_SESSION['id'])) {
        header('Location: /');
        exit;
    }


    $req = $DB->prepare("SELECT * 
        FROM utilisateur
        WHERE id = ?");


    $req->execute([$_SESSION['id']]);


    $req_profil = $req->fetch();


    $date = date_create($req_profil['date_creation']);
    $date_inscription = date_format($date, 'd/m/Y');


    $date = date_create($req_profil['date_connexion']);
    $date_connexion = date_format($date, 'd/m/Y à H:i');


    switch ($req_profil['role']) {
        case 0:
            $role = "Utilisateur";
            break;
        case 1:
            $role = "Super Admin";
            break;
        case 2:
            $role = "Admin";
            break;
        case 3:
            $role = "Modérateur";
            break;


        }


    $chemin_avatar = null;


    if (isset($req_profil['avatar'])){
         $chemin_avatar = '../public/avatar/' . $_SESSION['id'] . '/' . $_SESSION['avatar'];


    }else{
         $chemin_avatar = '../public/avatar/defaut/defaut.jpg';
    }


?>
<!DOCTYPE html>
<html lang="fr">


<head>
    <?php
    require_once ('../_head/meta.php');
    require_once ('../_head/link.php');
    require_once ('../_head/script.php');
    ?>
    <title>Profil de
        <?= $req_profil['pseudo'] ?>
    </title>
</head>


<body>
    <?php
    require_once ('../_menu/menu.php');
    ?>


    <div class="container">
        <div class="row">
            <div class="col-12">
                <h1>Bonjour
                    <?= $req_profil['pseudo'] ?>
                </h1>
                <div>
                    <img src="<?= $chemin_avatar ?>" class="profil__avatar"/>
                </div>
                <div>
                    Date dinscription : Le
                    <?= $date_inscription ?>
                </div>
                <div>
                    Date de dernière connexion : Le
                    <?= $date_connexion ?>
                </div>
                <div>
                    Rôle utilisateur :
                    <?= $role ?>
                </div>
                <div>
                    <a href="_profil/modifier-profil.php">Modifier mon compte</a>
                </div>
                <div>
                    <a href="_profil/avatar.php">Modifier mon avatar</a>
                </div>
            </div>
        </div>
    </div>
    <?php
    require_once ('../_footer/footer.php');
    ?>
</body>


</html>

Si une personne peu me filer un coup de pouce je suis preneur...


Par avance merci

802 vues
06 mai 2024 à 17:20
Cette pub permet au site de vivre ...

1 commentaire

Hello @chris86260 ^^


Je mets le tickets en Résolu.


Pour résumer :

  • Analyse du soucis sur Discord et prise en main avec TeamViewer
  • Cela nous a permis de voir qu'il manquait la valeur "NULL" sur le champ "avatar" dans la table utilisateur


Bonne soirée.

Florent.


Cette pub permet au site de vivre ...