Problème affichage photo membre

PaulLavieille

PaulLavieille Le 28 mars 2016 à 21:58 (Édité le 25 janvier 2019 à 17:50)

Salut !
J'ai l'espace membre de PrimFX mais j'ai un petit problème. Si la personne ne mets pas de photo de profil (on peut pas en mettre à l'inscription mais que dans l'édition profil), ça n'affiche pas les autres infos comme le pseudo, le mail.

Voici le code qui me bloc, j'ai du oublier quelque chose 
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<html>
   <head>
      <title>Profil de <?php echo $userinfo['pseudo']; ?> - Question Histoire</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         <?php
         if(!empty($userinfo['avatar']))
         {
         ?>
   <?php
         $getid = intval($_GET['id']);
    $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();
    ?>
<img src="membres/avatars/<?php echo $userinfo['avatar']; ?>" width="150" />
    
   
         <br /><br />
         
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         Biographie = <?php echo $userinfo['bio'];?>
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])
         {
         ?>
         <br/>
         <a href="editionprofil.php">Editer mon profil</a>
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
         }
         ?>
      </div>
   </body>
</html>
<?php   
}
?>
<?php
;}
?>
PrimFX

PrimFX Le 28 mars 2016 à 22:25

Salut !
Première question: que fait ce point-virgule qui traîne avant l'accolade ligne 54 ? 😋
Sinon pour ton problème, je ne vois pas... Les informations sont bien dans ta base de donnée ? D'ailleurs un p'tit screen de la base de donnée (du moins de la structure de ta table membres) serait pas de refus 😉
PaulLavieille

PaulLavieille Le 28 mars 2016 à 22:29

Pour le point-virgule à vrai dire je sais pas :-/
La base de donnée ici
dqfjsqhgfdqhvsq

dqfjsqhgfdqhvsq Le 29 mars 2016 à 15:40

Héhé, on peut rien cacher à Boris ! 😄
Nobodief

Nobodief Le 2 avril 2016 à 16:11 (Édité le 2 avril 2016 à 16:44)

J'aimerais savoir pourquoi tu fait deux requêtes identique alors que la première devrais normalement fonctionné pour tout le contenu de ta page.
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
?>
<html>
   <head>
      <title>Profil de <?php echo $userinfo['pseudo']; ?> - Question Histoire</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         <?php
         if(!empty($userinfo['avatar']))
         {
         ?>
   <?php
         $getid = intval($_GET['id']);
    $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();
    ?>
<img src="membres/avatars/<?php echo $userinfo['avatar']; ?>" width="150" />
Il faut savoir que tant que tu n'as pas fermé la dernière accolade ta requête (en ligne 1) continue d'être valide pour tout le contenu qui est présent avant la fin de l'accolade, donc tu peux continué de faire appel à tes informations, tu n'as pas besoin de refaire une requête identique.

Je parle de la requête à la ligne 21

Donc essaye avec cela :
<?php if(isset($_GET['id']) AND $_GET['id'] > 0)
{
   $getid = intval($_GET['id']);
   $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
   $requser->execute(array($getid));
   $userinfo = $requser->fetch();
   // ici tu n'as pas fermé l'accolade, donc notre requête passe toujours.
?>
<html>
   <head>
      <title>Profil de <?php echo $userinfo['pseudo']; ?> - Question Histoire</title>
      <meta charset="utf-8">
   </head>
   <body>
      <div align="center">
         <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
         <br /><br />
         <?php
         if(!empty($userinfo['avatar'])){
          echo '<img src="membres/avatars/'.$userinfo['avatar'].'" width="150" />';
       } else {
         echo '<img src="membres/avatars/none.jpg" width="150" />'; //si pas d'avatar, ont en affiche un manuellement.
       }
         ?>               
         <br /><br />
         
         Pseudo = <?php echo $userinfo['pseudo']; ?>
         <br />
         Mail = <?php echo $userinfo['mail']; ?>
         <br />
         Biographie = <?php echo $userinfo['bio'];?>
         <?php
         if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])
         {
         ?>
         <br/>
         <a href="editionprofil.php">Editer mon profil</a>
         <a href="deconnexion.php">Se déconnecter</a>
         <?php
         }
         ?>
      </div>
   </body>
</html>
<?php   
} // La fin de notre accolade, après nous devrons refaire une requête où alors étendre l'accolade.
?>
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte