Page 1 sur 1

Echo $_SESSION['Pseudo'] n'affiche rien

Posté : 26 févr. 2008, 13:03
par Foulensois
Bonjour a tous,

J ai un petit souci avec un simple echo dans mon espace membre.

Voici la page membre.php
<?php
session_start();
ob_start();
if(!isset($_SESSION['Pseudo'])) {
header('Location: http://www.tusors.com/');
  exit;
}
include ('http://www.site.com/site/design/haut_membre.php');
$pageOK = array('accueil' => 'index.php',
                'profil' => 'membre/index.php',
				'deconnexion' => 'membre/deconnexion.php');
  if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    include($pageOK[$_GET['page']]);
  } else {
    include('index.php');
  }
include ('http://www.site.com/site/design/bas.php');
ob_end_flush();
?>
Quand j appelle le fichier membre/index.php ou j ai fait un echo $_SESSION['Pseudo'], tout va bien, j ai bien le pseudo du membre qui s inscrit ou je lui souhaite la bienvenue.

Par contre, lorsque je veux placer dans design/haut_membre.php le meme echo, rien ne s affiche ?
Pouvez m expliquer ce qui ne va pas ?

Posté : 26 févr. 2008, 13:10
par Xvider
oups c'est un include

je pensé a un prob de
session_start();
au début de ton document design/haut_membre.php , mais c'est un include donc finalement je seche.

Posté : 26 févr. 2008, 14:58
par Ryle
C'est normal, c'est parce que ton include() comporte une url globale et non un chemin relatif. En gros, c'est le serveur qui se connecte à l'url 'http://www.site.com/...' et qui récupère le code html généré, du coup, aucune information relative à la session du visiteur ne peut y figurer (puisque ce n'est pas ton script qui l'exécute).

Utilise un chemin relatif (depuis le fichier qui l'appel) afin que le code inclu soit exécuté dans le script, tu pourras ainsi profiter dans ton fichier inclu de toutes les variables déclarées au préalable (et donc de celles contenues en session :))

Posté : 26 févr. 2008, 15:11
par Foulensois
Merci beaucoup Ryle, ca marche mieux tout d un coup :)