Variables de session - PHP - Programmation
Marsh Posté le 06-03-2004 à 14:17:37
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 )
Marsh Posté le 06-03-2004 à 14:20:45
Ah oui c'est vrai je l'avais vu ne plus l'histoire du $_SESSION, mais je m'en rappelé plus
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.
Marsh Posté le 06-03-2004 à 15:54:57
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) ?
Marsh Posté le 06-03-2004 à 16:08:56
Salut,
Code :
|
qui remplace session_destroy.
Marsh Posté le 06-03-2004 à 20:04:50
C'est bon ça marche nikel, merci
Marsh Posté le 06-03-2004 à 20:16:12
sub1 a écrit : Salut,
|
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 :
|
Marsh Posté le 06-03-2004 à 20:26:41
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...
Marsh Posté le 07-03-2004 à 00:22:57
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....
Marsh Posté le 07-03-2004 à 01:28:34
Je peux porter plainte pour diffamation dites ??? Les modos vous dormez ???
Va voir là 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...)
Marsh Posté le 06-03-2004 à 14:07:28
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 :
$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?
Ensuite dans la page tech.php, j'ai ce bou de script en haut de page :
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............
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.