Variable de session PHP qui change de valeur

Résolu
Bonjour,

je crée un site en php avec des sessions. En local sur wamp ça marche bien mais sur free j'ai une variable $_SESSION['id'] qui se mets à prendre des valeurs différentes à chaque fois qu'on recharge une page...

j'ai bien créé le répertoire sessions.

merci de votre aide.

waska

8 réponses

  1. oui c'est vrais j'ai testé votre site la variable change de valeur quand vous vouliez modifier vos donné pour la deuxième
    foi c'est possible que vous aviez un conflit de variable . il faut vérifier les nom de variable
    1
    1. merci c'était bien ça,

      en changeant les noms de variables le problème est résolu.
      0
  2. Il y avait un problème de conflit de variables. La variable posant problème prenait la valeur d'une variable portant le même nom sur une autre page.

    merci à matshuda pour la solution.
    1
    1. vous pouvez donné le code complet ?
      0
      1. voici la page php où je commence une session:

        <?php
        session_start();

        mysql_connect("localhost", "...", "...");
        mysql_select_db("conducteurs");

        $pseudo=mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
        $password=mysql_real_escape_string(htmlspecialchars($_POST['password']));

        if (isset($pseudo) AND isset($password))
        {
        if ($pseudo != NULL AND $password != NULL) // Si on a quelque chose à enregistrer
        {
        $timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an
        setcookie('pseudo', $pseudo, $timestamp_expire); // On écrit un cookie

        $reponse = mysql_query("SELECT * FROM conducteurs WHERE pseudo='$pseudo'") or die(mysql_error());

        while ($donnees = mysql_fetch_array($reponse) )
        {
        $mail=$donnees['mail'];
        if ($password == $donnees['pwd'])
        {
        $_SESSION['pseudo'] = $donnees['pseudo'];
        $_SESSION['id'] = $donnees['ID'];
        $_SESSION['mail'] = $donnees['mail'];
        $_SESSION['loginOK'] = true;

        }

        else
        {
        echo 'Mot de passe Incorect !';
        }
        }
        }

        else { echo 'Une erreur est survenue, veuillez réessayer !'; }

        }

        else { echo 'Une erreur est survenue, veuillez réessayer !'; }

        mysql_close();
        include('index2.php');

        ?>

        et voici la page où ma variable $_SESSION['id'] change de valeur:

        <?php
        session_start();
        ?>

        <?php

        $modif=$_GET['modif'];

        $pseudo="";
        $mail="";
        $pwd="";
        $ville1="";
        $ville2="";
        $heure="hh:mm";
        $nom="nom";
        $prenom="prenom";
        $coment=="";

        if ($_SESSION['loginOK'] == true AND $modif == 1) {

        $id=$_SESSION['id'];
        echo $_SESSION['id'];

        mysql_connect("localhost", "...", "...");
        mysql_select_db("vvcovoiturage");

        $reponse = mysql_query("SELECT * FROM conducteurs WHERE ID='$id'") or die(mysql_error());

        while ($donnees = mysql_fetch_array($reponse) ) {
        $pseudo=$donnees['pseudo'];
        $mail=$donnees['mail'];
        $pwd=$donnees['pwd'];
        $ville1=$donnees['ville1'];
        $ville2=$donnees['ville2'];
        $heure=$donnees['heure'];
        $nom=$donnees['nom'];
        $prenom=$donnees['prenom'];
        $tel=$donnees['tel'];
        $coment=$donnees['coment'];
        }

        mysql_close();
        }

        else {
        $modif = "";
        }
        ?>

        <form name="formulaire" action="

        <?php
        if ($modif == 1) { echo"enregistre_conducteur.php?modif=1"; }
        else {echo"enregistre_conducteur.php"; }
        ?>

        " method="post" onSubmit="return verification()">

        ...

        merci d'avance
        0
        1. Personne ne peut m'aider? Je ne comprend vraiment pas...
          0
          1. j'ai testez votre script mais la variable $_session['id'] ne change pas de valeur
            0
            1. Merci d'avoir testé.

              Moi non plus sur WAMP ça ne change pas mais sur free si...

              vous pouvez essayer: http://vvcovoiturage.free.fr

              si vous-vous connectez avec test1 comme pseudo et comme mot de passe, quand vous faites plusieurs fois "modifier mes données" vous finnissez par tomber sur la fiche de quelqu'un d'autre.

              je vais ecrire à free pour voir si c'est pas un problème chez eux mais j'ai eu le meme problème chez multimania.

              waska
              0