Rechercher : dans
Par :

Variable de session PHP qui change de valeur

Dernière réponse le 24 fév 2008 à 15:34:47 waska, le 17 fév 2008 à 08:58:13 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « variable de session PHP qui change de valeur » dans :
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

matshuda, le 17 fév 2008 à 09:35:45

Vous pouvez donné le code complet ? Il faut savoir que l'on sait ce que l'on sait,
et savoir que l'on ne sait pas ce que l'on ne sait pas

Répondre à matshuda

2

waska, le 17 fév 2008 à 10:34:25

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

Répondre à waska

3

waska, le 17 fév 2008 à 15:22:06

Help!

Répondre à waska

4

waska, le 18 fév 2008 à 07:09:13

Personne ne peut m'aider? Je ne comprend vraiment pas...

Répondre à waska

5

matshuda, le 18 fév 2008 à 10:20:33

J'ai testez votre script mais la variable $_session['id'] ne change pas de valeur Il faut savoir que l'on sait ce que l'on sait,
et savoir que l'on ne sait pas ce que l'on ne sait pas

Répondre à matshuda

6

waska, le 18 fév 2008 à 12:53:29

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

Répondre à waska

7

matshuda, le 21 fév 2008 à 15:55:08

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
Il faut savoir que l'on sait ce que l'on sait,
et savoir que l'on ne sait pas ce que l'on ne sait pas

Répondre à matshuda

8

waska, le 24 fév 2008 à 15:31:51

Merci c'était bien ça,

en changeant les noms de variables le problème est résolu.

Répondre à waska

9

 waska, le 24 fév 2008 à 15:34:47

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.

Répondre à waska