Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
521 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variables de session

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variables de session

n°665257
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 06-03-2004 à 14:07:28  profilanswer
 

Bonjour, je m'attaque au session depuis peu et j'ai un problem de récupération de variables....
Voila mon script de la page index.php qui utilise les sessions :

Citation :

$login = $_GET[log_p];
$pass = $_POST[pass];
session_start();
session_register("pass" );
session_register("login" );
header("Location: tech.php?".session_name()."=".session_id());
exit();

La variable log_p est passé en parametres dans l'url et la variable pass viens d'un formulaire.
Si j'ai bien suivit le fonctionnement des sessions, avec ce bou script, j'enregistre les variables login et pass dans la session...no?  :heink:  
 
Ensuite dans la page tech.php, j'ai ce bou de script en haut de page :

Citation :

session_start();
echo session_id();
echo session_name();
echo $login;
echo $pass;
if($login != "tech" || $pass != "tech" ) {
 echo '<br><font face="Verdana" size="2">Vous n\'êtes pas autorisé à afficher cette page !</font>';
exit();
}


Normalement les variables login et pass devrai contenir ce que je leur ai mis dans la page précédente. Et ben non, il n'y a strictement rien dans les deux variables............ :cry:  
 
Si vous pouviez m'éclairer sur ce point, j'en serai ravi.
Merci ;)


Message édité par j0k3r_n0ir le 06-03-2004 à 14:09:41

---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
mood
Publicité
Posté le 06-03-2004 à 14:07:28  profilanswer
 

n°665259
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 06-03-2004 à 14:17:37  profilanswer
 

Bon alors 2 choses :
* sous PHP, depuis un peu de temps maintenant, les variables globales ne sont pu autorisées par défaut. C'est-à-dire qu'un truc que tu enregistreras en session sous le nom de "plouf", tu ne pourras pas le récupérer avec $plouf. Idem pour tout ce qui est POST, GET, etc...
* les sessions ne sont plus supportées via session_register(), etc... mis en tapant directement dans le tableau $_SESSION. Tu le fais très bien dans ton code avec $_POST, donc fais pareil pour $_SESSION.
 
Ex :
$login = $_GET[log_p];
$pass = $_POST[pass];
session_start();
$_SESSION["pass"] = $pass;
$_SESSION["login"] = $login;
 
Et pour la lecture :  
echo $_SESSION["login"];
 
(NB si je peux me permettre : stocker le password, même en session, c'est pas terrible et j'vois pas l'intérêt ;) )


---------------
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.
n°665260
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 06-03-2004 à 14:20:45  profilanswer
 

Ah oui c'est vrai je l'avais vu ne plus l'histoire du $_SESSION, mais je m'en rappelé plus :p
 
Pour ton NB, je débute dans les sessions, alors je fait comme on pourrai dire, des tests....
Mais en réfléchissant, c'est vrai que je n'aurais besoin que de stocker le login en session. ;)


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°665324
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 06-03-2004 à 15:54:57  profilanswer
 

Nouveau problème :
Je n'arrive pas détruire la session....
Je fais bien session_destroy() mais quand je reviens sur la page ou en debut il y a session_start(), la session se "re-ouvre" (je pense) et toutes les variables qui vont avec, se re-créent....
 
Comment faire pour éviter que la session se ré-ouvre en évitant bien sur la soluce radicale : fermer le client (ie) ?


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°665340
sub1
Posté le 06-03-2004 à 16:08:56  profilanswer
 

Salut,

Code :
  1. unset($_SESSION); // pour tout le tableau de sessions
  2. unset($_SESSION["login" ) //pour une variable


qui remplace session_destroy.

n°665502
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 06-03-2004 à 19:10:23  profilanswer
 

Ok merci je teste et je te dit ;)

n°665546
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 06-03-2004 à 20:04:50  profilanswer
 

C'est bon ça marche nikel, merci
:hello:


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°665549
naceroth
Posté le 06-03-2004 à 20:16:12  profilanswer
 

sub1 a écrit :

Salut,

Code :
  1. unset($_SESSION); // pour tout le tableau de sessions
  2. unset($_SESSION["login" ) //pour une variable


qui remplace session_destroy.


 
JAMAIS le unset($_SESSION), c'est la plus grosse connerie que tu puisses faire avec des sessions...
 
Si tu le fais comme ça, dit "au revoir" à toutes variables de sessions, maintenant et dans le futur puisque tu viens de démolir la super globale qui les stocke...
 
La seule bonne manière de détruire une session c'est

Code :
  1. $_SESSION = array();

n°665556
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 06-03-2004 à 20:26:41  profilanswer
 

naceroth a écrit :

Si tu le fais comme ça, dit "au revoir" à toutes variables de sessions, maintenant et dans le futur puisque tu viens de démolir la super globale qui les stocke...

Pourtant je l'ai utilisé comme il m'a dit et j'arrive a utiliser les sessions normalement ensuite....
Bref...


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
n°665744
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 07-03-2004 à 00:22:57  profilanswer
 

Je voudrais savoir si ce qu'a di naceroth c'est du mito ou pas...
Fin j'ai utilisé les 2 et cela fonctionne bien mais ce qu'il a dit m'intrigue un peu....

mood
Publicité
Posté le 07-03-2004 à 00:22:57  profilanswer
 

n°665763
naceroth
Posté le 07-03-2004 à 01:28:34  profilanswer
 

Je peux porter plainte pour diffamation dites ??? Les modos vous dormez ???
 
Va voir et lit le grand truc marqué Attention. (et ça marche probablement parce que le garbage system qui s'occupe de supprimer les données périmés ne fonctionne pas sous windows de la même facon que sous Linux...)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variables de session

 

Sujets relatifs
Session et transfert de variables de page en page...Variables de session (le retour)
Prob de variables de session...[PHP] Les variables de session magiques...
variables de sessionTrop de variables de session = problème ?
variables de session, a consommer avec modération?variables de session
recup variables de sessionDélai dans la suppression des variables de session (résolu)
Plus de sujets relatifs à : Variables de session


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR