[SESSION] La session qui se détruit même sans session_destroy().

La session qui se détruit même sans session_destroy(). [SESSION] - PHP - Programmation

Marsh Posté le 10-07-2003 à 23:40:12    

Salut,
je m'explique:
J'ai deux pages :
page 1:

Citation :


<?
session_start();
extract($HTTP_SESSION_VARS);
echo $passconf."<br>";
echo $PHPSESSID;
?>
<br><a href="http://localhost/affpass1.php?PHPSESSID=<? echo $PHPSESSID ?>">Voir si la variable $passconf a été détruite</a>
 


 
 
La page 2(celle vers laquelle le lien de la page 1 pointe).

Citation :


<?
session_start();
extract($HTTP_SESSION_VARS);
echo $passconf."<br>";
?>


 
Le problème est que dans la 1ère page passconf s'affiche, dans la deuxième non !
 
Voili, voilou et merci


Message édité par momo194 le 11-07-2003 à 00:07:49
Reply

Marsh Posté le 10-07-2003 à 23:40:12   

Reply

Marsh Posté le 11-07-2003 à 00:15:09    

Bin c'est normal. Pour qu'une variable soit considérée comme une variable de session, il faut utiliser session_register(). cf http://www.php.net/manual/fr/funct [...] gister.php


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 11-07-2003 à 00:54:19    

Taiche a écrit :

Bin c'est normal. Pour qu'une variable soit considérée comme une variable de session, il faut utiliser session_register(). cf http://www.php.net/manual/fr/funct [...] gister.php

:jap:

Reply

Marsh Posté le 11-07-2003 à 09:21:54    

Taiche a écrit :

Bin c'est normal. Pour qu'une variable soit considérée comme une variable de session, il faut utiliser session_register(). cf http://www.php.net/manual/fr/funct [...] gister.php


 
Comme c'est indiqué sur la page dont tu donne le lien la fonction session_register() ainsi que d'autres ne doivent pas etre utilisées :
 

Code :
  1. Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS), n'utilisez pas session_register(), session_is_registered() et session_unregister().


 
si tu fais $_SESSION['test']="toto";
alors tu auras mis la variable test en tant que variable de session, c'est tout ce qu'il y a à faire


Message édité par ratibus le 11-07-2003 à 09:23:23
Reply

Marsh Posté le 11-07-2003 à 09:25:02    

momo194 a écrit :

Salut,
je m'explique:
J'ai deux pages :
page 1:

Citation :


<?
session_start();
extract($HTTP_SESSION_VARS);
echo $passconf."<br>";
echo $PHPSESSID;
?>
<br><a href="http://localhost/affpass1.php?PHPSESSID=<? echo $PHPSESSID ?>">Voir si la variable $passconf a été détruite</a>
 


 
 
La page 2(celle vers laquelle le lien de la page 1 pointe).

Citation :


<?
session_start();
extract($HTTP_SESSION_VARS);
echo $passconf."<br>";
?>


 
Le problème est que dans la 1ère page passconf s'affiche, dans la deuxième non !
 
Voili, voilou et merci


 
je ne te conseille pas d'utiliser extract mais d'accéder à tes variables de session par $_SESSION['nomdemavariable']

Reply

Marsh Posté le 18-06-2008 à 08:27:26    

salut
je ne vois pas ce qui permet d'affirmer que extract n'est pas sûr.
j'ai exactement le meme probleme depuis PHP version 5  
des scripts qui fonctionnait trés bien ne fonctionnent plus je n ai pas trouvé la réponse  
les sessions sont detruites quand on restart  la session par un autre script
j utilise des sessions nommées  
 

Reply

Marsh Posté le 18-06-2008 à 19:00:36    

jean-michel-nux a écrit :

salut
je ne vois pas ce qui permet d'affirmer que extract n'est pas sûr.
j'ai exactement le meme probleme depuis PHP version 5  
des scripts qui fonctionnait trés bien ne fonctionnent plus je n ai pas trouvé la réponse  
les sessions sont detruites quand on restart  la session par un autre script
j utilise des sessions nommées  
 


 
Extract n'est pas sûr parce qu'il permet d'écraser des données s'il est mal appelé comme c'est le cas ici. (cf. la doc)
En plus il ralentit l'exécution du script.
Alors pourquoi ne pas utiliser directement $_SESSION, qui de plus permet l'enregistrement direct des données ?
 
EDIT : Oups je répond à un UP de 2003 !
Mais spa moi qui a déterré le topic, hein !


Message édité par Profil supprimé le 18-06-2008 à 19:01:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed