[RESOLU] variable en session ko

Eléphant du PHP | 345 Messages

10 mars 2021, 02:31

Bonjour,
je dois etre vraiment nul mais je n'arrive pas à passer une variable en session pour affichage. (avatar)
<?php
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// connexion a la bdd
require_once 'config.php';
$id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
$avatar= 'avatar';
?>
<table>
<td>
<b><?php echo $_SESSION['pseudo'];?></b>
<br><br><?php echo '<img src="./avatars/' . $_SESSION['avatar'] . '">'; ?>
</td>
</table>
le pseudo s'affiche bien, mais pas l'image (dont le chemin est en table).

Mammouth du PHP | 1967 Messages

10 mars 2021, 10:16

Regarde le code source de ta page pour voir si le chemin est bien construit. Sinon vérifie le contenu de ta session par un var_dump($_SESSION);

Sans le code qui rempli ta session difficile de t'aider plus.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Mammouth du PHP | 1564 Messages

10 mars 2021, 12:18

$avatar : définie
$_SESSION['avatar'] : non définie (du moins dans cette page)

à aucun moment tu ne définis $_SESSION['avatar']

Eléphant du PHP | 345 Messages

10 mars 2021, 19:35

Ah oui, j'en avais oublié un bout en effet !

Eléphant du PHP | 345 Messages

10 mars 2021, 19:36

$id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
try{ 
  $sql = "SELECT id, pseudo, avatar FROM membres WHERE id = :id";
  $pdostat = $bdd->prepare($sql);
  $pdostat->bindvalue(':id',$id ,PDO::PARAM_INT);
  $pdostat->execute();
  $resultat = $pdostat->fetch();    
}catch(Exception $e){
  //en cas d'erreur dans la requête
  echo "Erreur : " . $e->getMessage();
}

if (!empty($resultat )) { 

  $avatar = $resultat['avatar'];
  $pseudo = $resultat['pseudo'];
}else{
 echo " Erreur : PB QQ PART !";
}  
  ?>
[/PHP]

Avatar du membre
Mammouth du PHP | 1564 Messages

10 mars 2021, 21:02

if (!empty($resultat )) { 

  $avatar = $resultat['avatar'];
//ok et définis la session avatar ici
//session avatar = $resultat['avatar'];
  $pseudo = $resultat['pseudo'];
}else{
 echo " Erreur : PB QQ PART !";
}