Problème de variables session?

Signaler
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008
-
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008
-
Bonsoir à tous,

j'ai
un problème... j'ai fais un login et depuis que j'y ai intégré un
'remember me' avec les cookies ça vas un peu de travers avec mozilla...
je peux me logger, compte exemple: asuka pass: lol

jusque là, tout va bien. Si je ferme le navigateur et que je le réouvre, toujours loggé, parfait.

Le
problème survient juste après avoir cliqué 'Log out' la variable cookie
du compte et son password semblent être détruites ainsi que les
variables sessions. À première vue, tout semble correcte, (déconnecté)
MAIS lorsque je clique par exemple sur le "HOME" dans la navigation
ariane, qui mène à l'adresse de base http://hmquarters.com, les
variables sessions semblent être de retour? bah la j'dois avouer que
j'y comprend que dalle XD votre aide serait vraiment apprécié^^.

(Sur IE c'est pas du tout pareil.... o.O)  l'exemple hosté comme dit précèdemment : hmquarters.com

logoff.php >>

<?php
session_start();
setcookie("entry", "", time()-(60*60*24*366),"/", "hmquarters.com");
unset($_COOKIE['entry']);
session_destroy();
?>
header('Location: index.php');

Login qui fonctionne, du moins je crois ^^ >>

<?php
if (isset($_COOKIE["entry"]))
{
$traces = explode("/", $_COOKIE["entry"]);
$_SESSION['AUTH'] = $traces[0];
$_SESSION['PW'] = $traces[1];
}

            $query = @mysql_query("SELECT ----FROM ----WHERE ----='$_SESSION[AUTH]' AND          ----='$_SESSION[PW]'");

            $rownum = mysql_num_rows($query);
                   
                        if($rownum == 1)
                        {
                              echo "
";
                              include_once'lockedpage.php';
                              echo "
";
                              $_SESSION['granted'] = true;
                        }   
                        else
                        {
                         fieldshow();
                         $_SESSION['granted']= false;
                        }

            ?>

Et finalement ... loginprocess.php qui est requis au login et aux pages sécurisées >>

<?php session_start();
require("connectdb.php");
require("function.php");

 if (isset($_POST['nom']))
 {
          $_SESSION['AUTH']=strip_tags(trim($_POST['nom']));
         $_SESSION['PW']=md5($_POST['pass']);
         $_SESSION['VISIT'] = true;
         if ($_POST['remember'] == true)
         {
         setcookie("entry", $_SESSION['AUTH']."/".$_SESSION['PW'], time()+(60*60*24*365),"/", "hmquarters.com");
         }
    
}
else
{
         if(!isset($_SESSION['AUTH']))
         {
         echo "<li>Cannot show this page, you're not logged in.</li>
";
         unset($_SESSION['VISIT']);
         exit;
         }
}

login($_SESSION['AUTH'], $_SESSION['PW']);

?>

J'ai aussi prévu l'affichage des variables sessions et cookies dans la navigation afin de faire la trace...

8 réponses

Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Hello,

C'est pas un probleme de cache dans ton navigateur ça? (ça arrive des fois :D)
Sinon, affiche le contenu du cookie pour etre sur qu'il soit vide.. print_r($_COOKIE); pour voir ce que ça donne

win
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008

ouais... j'ai essayer la cache mais sans succès ><
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008

Pas vide effectivement.... pourquoi? >_< même après avoir expirer le cookie et détruit la session
Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Tu travailles en error reporting : E_ALL ?
Le fait que quelque chose ait été affiché avant de (un)setter le cookie empecherait la sauvegarde. Sinon, enleve le setcookie() pour voir..

win
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008

reporting E_ALL? c'est quoi ça :P
Messages postés
654
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
10 février 2009
1
Une option de configuration de php pour regler le level d'erreur.. E_ALL signifiant toutes les erreurs

error_reporting(E_ALL); en haut de ton script pour activer le retour de toutes les erreurs (comme ça on pourra voir si une erreur est génerée)

win
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008

wow, ça fait peur ce mod XD matte moi ça
Messages postés
29
Date d'inscription
samedi 30 avril 2005
Statut
Membre
Dernière intervention
4 octobre 2008

donc... j'ai corrigé les erreurs en E_ALL, cependant. Le problème de session est toujours là... :s