Problème affichage photo membre
- Accueil
- Forum
- Programmation
- PHP
- Problème affichage photo membre
PaulLavieille Le 28 mars 2016 à 21:58 (Édité le 25 janvier 2019 à 17:50)
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 Le 28 mars 2016 à 22:25 (Édité le 1 janvier 1970 à 01:00)
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 Le 28 mars 2016 à 22:29 (Édité le 1 janvier 1970 à 01:00)
La base de donnée ici
dqfjsqhgfdqhvsq Le 29 mars 2016 à 15:40 (Édité le 1 janvier 1970 à 01:00)
Nobodief Le 2 avril 2016 à 16:11 (Édité le 2 avril 2016 à 16:44)
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.
?>