Pays-Froid.Net

Qu'est ce que Pays-Froid.Net

$_SESSION[''] qui ne se transmet pas de page en page

Posez vos problèmes à propos du PHP

$_SESSION[''] qui ne se transmet pas de page en page

Messagede Geoffroy le 09 Juin 2007 10:31

voici mon code le ma page connexion.php, j'ai fait toutes les vérifications, et les variables font bien tous ce que je veux.
Code: Tout sélectionner
<?php
session_start();
//Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("variable.php");

//Connexion à la base de données.
mysql_connect($host, $login, $pass);
mysql_select_db($dtb);

//Si la variable $_POST['connexion'] (bouton submit du formulaire) et la variable $_SESSION['logged'] vaut false (déconnecté) existent.
if (isset($_POST['connexion']) && $_SESSION['connect'] == false)
{
    //Vérification des autres variables.
    if (isset($_POST['pseudo'],$_POST['pass']) && !empty($_POST['pseudo']) && !empty($_POST['pass']))
    {
        //Vérification du pseudo.
        $pseudo = htmlspecialchars($_POST['pseudo']);
        $mot_passe = htmlspecialchars($_POST['mot_passe']);
               
        //Requête comptant le nombre de pseudos $_POST['pseudo']
        $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membre WHERE pseudo='" . $pseudo . "'");
      $select = mysql_query("SELECT * FROM membre WHERE pseudo='" . $pseudo . "'");
      while ($dodo = mysql_fetch_array($select))
      {
         if($dodo['bannir'] == 0)
         {
            //Si le pseudo existe.
            if (mysql_result($sql,0,'nb_pseudo') == 1)
            {
               //Vérification du mot de passe
               //Information sur le compte du membre.
               $sql_infos = mysql_query("SELECT * FROM membre WHERE pseudo='" . $pseudo . "'");
               $donnees = mysql_fetch_array($sql_infos);
                       
               //Hashage du mot de passe.
               $pass_hash = md5($pass);
               //Comparaison du mot de passe.
               if ($pass_hash == $donnees['pass'])
               {
                        //On vérifie que le compte est confirmé.
                        //Si $donnees['confirmation'] vaut 1.
                        if ($donnees['confirmation'] == 1)
                        {
                     if (isset($_POST['souvenir']) && $_POST['souvenir'] == 'on')
                            {
                        //Temps d'expiration des cookies (1 an).
                                $expire = time() + 3600 * 24 * 365;

                                setcookie('pseudo', $pseudo, $expire);
                                setcookie('pass', $pass_hash, $expire);
                        setcookie('log', 'oui', $expire);
                            }
                            //Tout est bon, on connecte le membre.
                            $_SESSION['connect'] = true;
                     $temps = time();
                     mysql_query('UPDATE membre SET connected = 1 WHERE pseudo="' . $pseudo . '" ') ; 

                            //Création de 2 variables de session, contenant des informations sur le membre.
                            $_SESSION['id'] = $donnees['id']; //Id du membre.
                            $_SESSION['pseudo'] = $pseudo; //Pseudo du membre.
                     $_SESSION['importance'] = $donnees['importance'];
                            //Redirection vers la page membre.
                            header("location: membre.php");
                        }
                        else
                     echo 'Erreur : le compte n\'est pas confirmé !';
               }
               else
                  echo 'Erreur : le mot de passe est incorrect !';
            }
            else
               echo 'Erreur : le pseudo n\'existe pas !';
         }
         else
            echo 'Vous avez été banni du jeu!';
      }
   }
   else
      echo 'Erreur : veuillez remplir tous les champs !';
}
mysql_close();
session_destroy();
?>


Et à ce moment, je suis rédirigé sur la page membre.php :
Code: Tout sélectionner
<?
if ($_SESSION['connect'] == true)
{
   $_SESSION['connect'] = true;
//démarage de la session et mise à jour des variables
   session_start();
   $pseudo = $_SESSION['pseudo'];
   if (!isset($_SESSION['visiting']))
      $_SESSION['visiting'] = false;
//connexion MY_SQL
   require ('variable.php');
   mysql_connect($host, $login, $pass);
   mysql_select_db($dtb);
   
   $_SESSION['connect'] == true;
//compteur de visite
   include ('fonction.php');
   $connected = compteur_visit();
//construction de la page
   include ('header.php');
   include ('menu.php');
   ?>
   <div id="body">
      Page membre en cours de construction!<br/>
   </div>
   <?
   include ('footer.php');
}
else
   header("location: inscription.php");
?>

Et cette derni_re me redirige à son tour vers inscription.php, ce qui veut dire que $_SESSION['connect'] qui valait true sur connxion.php n'exsite plus, ou alors à perdue sa valeur, et c'est la que je me demande pourquoi, vu que le but de cette variable et justement de rester sur toutes les pages égal!!


Si vous voyez une erreur qui expliquerai tous ça, merci d'avance!!
TIMTOWTDI
Avatar de l’utilisateur
Geoffroy
Crazy Pinguin
Crazy Pinguin
 
Messages: 1332
Inscription: 20 Jan 2007 23:11

Messagede Patoch le 09 Juin 2007 22:04

Dans ton membre.php, je remarque ceci au milieu du code :

$_SESSION['connect'] == true;

je n'aurai mit qu'un seul egal...
Image
Image
Avatar de l’utilisateur
Patoch
Administrateur
Administrateur
 
Messages: 1343
Inscription: 13 Nov 2006 1:53
Localisation: Sur la Banquise

Messagede Geoffroy le 10 Juin 2007 0:17

hu? a ouai, possible, merci!

mais ca change pas le problème, vu que la condition n'est pas vérifier!
TIMTOWTDI
Avatar de l’utilisateur
Geoffroy
Crazy Pinguin
Crazy Pinguin
 
Messages: 1332
Inscription: 20 Jan 2007 23:11

Messagede Geoffroy le 11 Juin 2007 1:01

il fuat que je fasse la vérification si la varialbe vaut faux, et enleve le destroy du footer!!!!

régler!
TIMTOWTDI
Avatar de l’utilisateur
Geoffroy
Crazy Pinguin
Crazy Pinguin
 
Messages: 1332
Inscription: 20 Jan 2007 23:11

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron

Copyright © Pays-Froid.Net

Nous contacter | Notre Histoire | Plan du site | Nos partenaires | Mentions légales | Fil RSS | XHTML 1.0 | CSS 2.0

Partenaire : Waliwaloo - Darklg - Yagoort - Meilleur du Web - Hit Parade