Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2007, 22h40   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
Par défaut Variable session non retenue / problème sur Firefox

Bonjour,

J'ai une page register.php ou j'inclus à son début un common.php.
La 1ere instruction dans common.php est session_start().

Dans cette page register.php, je génère un code aléatoire que le user doit saisir pour s'assurer que ce n'est pas un bot.
L'image aléatoire est générée à l'aide d'un fichier random.php ayant le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
include("common.php");
 
$RandomStr = md5(microtime());// md5 to generate the random string 
 
$ResultStr = strtoupper(substr($RandomStr,0,5));//trim 5 digit  
 
$NewImage =imagecreatefromjpeg("../images/img.jpg");//image create by existing image and as back ground  
 
$LineColor = imagecolorallocate($NewImage,233,239,239);//line color  
$TextColor = imagecolorallocate($NewImage, 255, 255, 255);//text color-white 
 
imageline($NewImage,1,1,40,40,$LineColor);//create line 1 on image  
imageline($NewImage,1,100,60,0,$LineColor);//create line 2 on image  
 
imagestring($NewImage, 5, 12, 2, $ResultStr, $TextColor);// Draw a random string horizontally  
 
$_SESSION['EWEKEY'] = md5($ResultStr);// carry the data through session 
 
header("Content-type: image/jpeg");// out out the image  
 
imagejpeg($NewImage);//Output image to browser
Donc dans qqe part dans register.php, j'ai ceci :
Code :
<img src='../random.php'>

Mon problème c'est que dans IE, tout fonctionne à merveille, alors que dans Firefox, je n'obtiens rien dans $_SESSION['EWEKEY'] qui est sensé garder le code généré pour que je fasse mes tests dans regsiter.php.

Quand je désactive les deux lignes
Code :
1
2
3
header("Content-type: image/jpeg");// out out the image  
 
imagejpeg($NewImage);//Output image to browser
et que j'affiche $_SESSION['EWEKEY'], je trouve qu'elle a une valeur, visible à partir de register.php & bien sur random.php.
Dès que je réactive les deux lignes qui rendent l'image, ça marche plus...

Auriez-vous une idée sur l'origine du problème?

Merci d'avance
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 01h21   #2
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
J'ai au moins une idée d'ou le problème ne vient pas, c'est de ton navigateur... Tout ce qui a un rapport avec les session que ton navigateur passe d'une page à l'autre, c'est l'id de session. Si ça passe bien, tu as bien acces à toutes tes variables de session, dans le cas contraire, tu les perds toutes.

Comment fais tu (extrait de code) pour tester le contenu de ta variable de session ?
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 14h55   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
ce que je fais dans la page register.php c'est ça:

Code :
1
2
3
4
5
6
7
8
9
10
 
if ($_POST['save']) {
   if (md5($_POST["rnd"]) == $_SESSION["EWEKEY"]) {
       // Entrer ici veut dire que le code saisi par le user est correct
       // $_SESSION['EWEKEY'] est la variable générée par le src de l'image
       // aléatoire qui est random.php
   }
 
   ...
}
J'étais étonné de voir aussi que ça bloque uniquement sur FF, car logiquement ça n'a rien à voir avec le navigateur puisque c'est côté php que tout ceci se fait ...
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 14h57   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
je viens de refaire un test sur IE et ... ça ne marche pas. Je suppose que c'était un problème de cache.
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 15h08   #5
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
je comprends plus rien .... ça marche vraiment sur IE et pas FF ...

d'ailleurs, quand je tape entrée le submit du formulaire ne marche pas, faut que je clique sur le bouton .... maaaarre.
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 15h52   #6
Membre expérimenté
 
Inscription : mai 2002
Messages : 673
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 673
Points : 532
Points : 532
et t'as mis un echo '---'.$_SESSION["EWEKEY"].'---'; qui te renvoi vraiment rien ???

ps : les '---', c'est juste pour localiser le echo a l'affichage...
gloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2007, 18h29   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
absolument.

quand j'exécute random.php en désactivant le header d'affichage de l'image, j'ai une valeur dan $_SESSION['EWEKEY'].

mais quand j'essaye d'afficher sa valeur à partir de register.php, ça marche pas. J'ai rien.
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 17h47   #8
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
je reviens vers ce projet et je suis toujours dans la même impasse.
c'est comme si la session n'existait pas!

d'ailleurs j'ai un problème similaire dans d'autres pages :
par exemple dans une page upload.php, j'ai ça au début :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
.....
if ($_POST["btn_save"]) {
   $_SESSION["MSG"] = "Mon message";
   header("Location: ?msg=ok");
}
 
...
?>
<html>
<head> bla bla bla bla </head>
<body>
<?php if ($_SESSION["MSG"]) { ?>
<p>IL Y A UN MESSAGE </p>
<?php } ?>
</body>
Ben dans l'exemple ci dessus, il ne m'affiche jamais le message !
pourtant en faisant un echo et un exit dans le if ($_POST["btn_save"]), je trouve bel et bien la valeur que j'ai mis dans $_SESSION["MSG"]

Ca me rend fou ce truc ...
Any idea ?
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 14h29   #9
Jeh
Membre confirmé
 
Avatar de Jeh
 
Inscription : septembre 2003
Messages : 203
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Maine et Loire (Pays de la Loire)

Informations forums :
Inscription : septembre 2003
Messages : 203
Points : 246
Points : 246
Envoyer un message via MSN à Jeh
Par défaut session_write_close

As-tu essayé avec un avant ton ?
__________________
Verre vide je te plains, verre plein, je te vide.
Jeh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 18h07   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 46
Points : 11
Points : 11
oui rien à faire ... même chose, les sessions ne marche pas dans cette page bien précise.
En me loggant dans mon site après, ça marche, je retrouve des valeurs entre les pages ...je comprends vraiment pas ce qui se passe.
hatembr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 17h22   #11
Invité de passage
 
Inscription : avril 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 8
Points : 1
Points : 1
J'ai le meme probleme...

As tu trouvé une solution ?

merci
moi.mc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h27.


 
 
 
 
Partenaires

Hébergement Web