Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Wistaro
Auteur Sujet: Problème Session - ID

C_L

Messages: 18

Bonjour,

Voilà j'ai suivi le tuto création espace membre, que j'ai introduis dans mon site.
Donc quand je me connecte j'arrive sur ma page profil qui me donne les informations sur mon compte.
Mais dès que je clic sur une autre rubrique dans mon site, ma session est quitté (plus l'info dans mon URL) pourtant j'ai fais des session_start() dans mes pages, mais .. le problème vient peut être que mon menu est dans un include non ?

Bonne fin journée,
C_L
Publicité

Florian

Messages: 73

Sans le code très dur de t'aider

C_L

Messages: 18

Tu veux quel code? =S

C_L

Messages: 18

Voici mon nav (menu) include :
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">

<head>

</head>

<body>


        <div id="nav">
        
<?php include ("config.php") ; ?>
        

<li><a href="<?php echo ROOT_PATH.'/index.php'; ?>" class="titre"> ACCUEIL </a></li>
<li><a href="<?php echo ROOT_PATH.'/2.APERITIFS/pageaperitif.php'; ?>" class="titre"> APERITIF</a></li>
<li><a href="<?php echo ROOT_PATH.'/3.ENTREES/pageentree.php'; ?>" class="titre"> ENTREES</a></li>
<li><a href="<?php echo ROOT_PATH.'/9.PLATS/pageplat.php'; ?>" class="titre"> PLATS</a></li>
<li><a href="<?php echo ROOT_PATH.'/4.DESSERTS/pagedessert.php'; ?>" class="titre"> DESSERTS</a></li>
<li><a href="<?php echo ROOT_PATH.'/5.ESPACEPERSO/formulaireinscription.php'; ?>" class="titre"> UNE RECETTE?</a></li>    
        

            

    </div>
<img src="IMAGES/header.png" class="headerimg" alt="header" width="940px" height="88px"> 


</body>
</html>
Je dois préciser l'id de ma page dedans ? mais de quelle manière pour ne pas généré d'erreur ? enfin c'est mon idée .. je ne sais pas si le problème vient vraiment de là ... :/

C_L

Messages: 18

??? HELP :(

C_L

Messages: 18

Il y à quelque chose de surprenant ... je viens de faire un test '
Concernant le fichier nav exemple :

<?php


$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');

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();
   
   
     
?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">

<head>

</head>

<body>


        <div id="nav">
        
<?php include ("config.php") ; ?>
        
<li> <a href="<?php echo ROOT_PATH.'/index.php?id='.$_GET['id']; ?>"" class="titre"> ACCUEIL  </a></li>
<li> <a href="<?php echo ROOT_PATH.'/2.APERITIFS/pageaperitif.php?id='.$_GET['id']; ?>"" class="titre"> APERITIFS  </a></li>
<li> <a href="<?php echo ROOT_PATH.'/3.ENTREES/pageaperitif.php?id='.$_GET['id']; ?>"" class="titre"> ENTREES  </a></li>



<li><a href="<?php echo ROOT_PATH.'/index.php'; ?>" class="titre"> ACCUEIL </a></li>
<li><a href="<?php echo ROOT_PATH.'/2.APERITIFS/pageaperitif.php'; ?>" class="titre"> APERITIF</a></li>
<li><a href="<?php echo ROOT_PATH.'/3.ENTREES/pageentree.php'; ?>" class="titre"> ENTREES</a></li>
<li><a href="<?php echo ROOT_PATH.'/9.PLATS/pageplat.php'; ?>" class="titre"> PLATS</a></li>
<li><a href="<?php echo ROOT_PATH.'/4.DESSERTS/pagedessert.php'; ?>" class="titre"> DESSERTS</a></li>
<li><a href="<?php echo ROOT_PATH.'/5.ESPACEPERSO/formulaireinscription.php'; ?>" class="titre"> UNE RECETTE?</a></li>    
        

            

    </div>
<img src="IMAGES/header.png" class="headerimg" alt="header" width="940px" height="88px"> 


</body>
</html>
<?php 
}
?>

Vous voyez j'ai crée trois lien au début pour dire de récuperer mon ID.
Mais à cause de ses liens, je ne vois plus mon menu s'afficher dans ma page : /
Et quand je les enlève de mon code, qu'ensuite je me connecte et je les ajoute à nouveau, je vois QUE les trois liens s'afficher et donc garder mon id.
Dans ce cas, je pense qu'il faudrait crée une fonction php , afficher menu1 quand pas connecté , et menu2 quand connecté non ? Aurez vous uneidée de la syntaxe svp :  ) ou peut être une solution plus simple ... ??

Wistaro

Messages: 76

Si tu mets dans ta variable de session le login, ton code pourrais donner ça :
<?php
session_start();
if(!isset($_SESSION['login']) OR empty($_SESSION['login'])){
//affiche menu offline
}else{
//affiche menu online
}
?>
Ce code doit être mis sur ta page avant tout envoi de header (code html ou echo,print, printf,print_r).


Pour debugguer ton problème de sessions: 
~ Vérifie que tu n'a pas oublié une fois le session_start ()
~Verifie que ton session_start() est mis avant tout envois de header.

Autrement tu peux faire un 
session_start();
echo '<pre>';
print_r($_SESSION);
echo '<pre>';

En début de tes pages qui posent problème pour essayer de voir d'où vient le souci.

C_L

Messages: 18

De cette façon  ??? :

<?php

$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');

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();
   
   
     
?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">

<head>

</head>

<body>


        <div id="nav">
        
<?php include ("config.php") ; ?>
        
        <?php
session_start();
if(!isset($_SESSION['login']) OR empty($_SESSION['login'])){

<li> <a href="<?php echo ROOT_PATH.'/index.php?id='.$_GET['id']; ?>" class="titre"> ACCUEIL  </a></li>
<li> <a href="<?php echo ROOT_PATH.'/2.APERITIFS/pageaperitif.php?id='.$_GET['id']; ?>" class="titre"> APERITIFS  </a></li>
<li> <a href="<?php echo ROOT_PATH.'/3.ENTREES/pageaperitif.php?id='.$_GET['id']; ?>" class="titre"> ENTREES  </a></li>

}else{

<li><a href="<?php echo ROOT_PATH.'/index.php'; ?>" class="titre"> ACCUEIL </a></li>
<li><a href="<?php echo ROOT_PATH.'/2.APERITIFS/pageaperitif.php'; ?>" class="titre"> APERITIF</a></li>
<li><a href="<?php echo ROOT_PATH.'/3.ENTREES/pageentree.php'; ?>" class="titre"> ENTREES</a></li>
<li><a href="<?php echo ROOT_PATH.'/9.PLATS/pageplat.php'; ?>" class="titre"> PLATS</a></li>
<li><a href="<?php echo ROOT_PATH.'/4.DESSERTS/pagedessert.php'; ?>" class="titre"> DESSERTS</a></li>
<li><a href="<?php echo ROOT_PATH.'/5.ESPACEPERSO/formulaireinscription.php'; ?>" class="titre"> UNE RECETTE?</a></li>    
}
?>



    </div>
<img src="IMAGES/header.png" class="headerimg" alt="header" width="940px" height="88px"> 


</body>
</html>
<?php 
}
?>
Mais j'ai une erreur :( >>>Parse error: syntax error, unexpected '<' in C:\wamp\www\CNAM\PAGES040415\nav.php on line 32


Veuillez vous connecter ou créer un compte pour poster une réponse