Variable SESSION
Résolu/Fermé2 réponses
Barracuda8
Messages postés
108
Date d'inscription
vendredi 4 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2011
65
28 mai 2008 à 16:01
28 mai 2008 à 16:01
Alors, dans l'ordre:
La fonction session_unset() détruit toutes les variables de session. -> c'est vrai mais:
Tu peux aussi détruire une variable précise:
<?php unset($_SESSION['variable']);
echo 'La variable de session "variable" est maintenant détruite';
?>
Tu peux avoir autant de variables session que tu le désires.
Je croyais que la variable session se détruisait aprés la fermeture du navigateur, alors est il indispensable d'insérer la destruction des variable session ?
->c'est pas tout à fait ca:
Une variable session est active / viable pendant un certain temps définit par PHP (voir le fichier PHP INFO et la fonction phpinfo(); pour avoir les infos PHP).
Par exemple quand tu es sur un site de vente en ligne, ton caddie est mémorisé dans des variables sessions le temps de tes achats. En cas d'inactivité pendant un certain temps (disons 30 min par exemple) ta session est détruite automatiquement et toutes tes infos avec. Donc si tu pars manger en faisant ton caddie sans quitter le navigateur tu risque de perdre ton caddie.
session_start();
//indique que l'on veut utiliser les variables sessions et créer un fichier pour les utiliser si ce dernier n'existe pas encore
Si le fichier existe déjà, il n'est pas recréé et cette ligne signale seulement que l'on va utiliser les variables sessions.
$agent=$post ['codeAgent'];
//tu recuperes les données de ton formulaire et les stockent dans une variable (ici $agent)
$_SESSION ['codeAgent']=$agent
//tu recopies le contenu de $agent dans la variable session codeAgent
Mais tu avais déjà compris tout ca!
Maintenant, admettons que tu veuilles récuperer ce que tu as stocké dans la variable session "codeAgent" dans une autre page:
<?
session_start();
//mon fichier existe déjà, il n'est pas recréé, j'indique seulement que je vais utiliser des variables sessions
//C'est pourquoi tout tes fichiers utilisant les sessions commencent obligatoirement par cette fameuse fonction.
$codeAgentEnSession = $_SESSION ['codeAgent'];
//on récupere notre variable session dans une variable classique.
?>
Il faut bien comprendre que les variables sessions sont une notion totalement transparente à l'utilisateur et au programmeur. C'est un fonctionnement interne à PHP que tout bon programmeur doit connaître.
En espérant t'avoir éclairé,
Bonne journée,
Barracuda.
La fonction session_unset() détruit toutes les variables de session. -> c'est vrai mais:
Tu peux aussi détruire une variable précise:
<?php unset($_SESSION['variable']);
echo 'La variable de session "variable" est maintenant détruite';
?>
Tu peux avoir autant de variables session que tu le désires.
Je croyais que la variable session se détruisait aprés la fermeture du navigateur, alors est il indispensable d'insérer la destruction des variable session ?
->c'est pas tout à fait ca:
Une variable session est active / viable pendant un certain temps définit par PHP (voir le fichier PHP INFO et la fonction phpinfo(); pour avoir les infos PHP).
Par exemple quand tu es sur un site de vente en ligne, ton caddie est mémorisé dans des variables sessions le temps de tes achats. En cas d'inactivité pendant un certain temps (disons 30 min par exemple) ta session est détruite automatiquement et toutes tes infos avec. Donc si tu pars manger en faisant ton caddie sans quitter le navigateur tu risque de perdre ton caddie.
session_start();
//indique que l'on veut utiliser les variables sessions et créer un fichier pour les utiliser si ce dernier n'existe pas encore
Si le fichier existe déjà, il n'est pas recréé et cette ligne signale seulement que l'on va utiliser les variables sessions.
$agent=$post ['codeAgent'];
//tu recuperes les données de ton formulaire et les stockent dans une variable (ici $agent)
$_SESSION ['codeAgent']=$agent
//tu recopies le contenu de $agent dans la variable session codeAgent
Mais tu avais déjà compris tout ca!
Maintenant, admettons que tu veuilles récuperer ce que tu as stocké dans la variable session "codeAgent" dans une autre page:
<?
session_start();
//mon fichier existe déjà, il n'est pas recréé, j'indique seulement que je vais utiliser des variables sessions
//C'est pourquoi tout tes fichiers utilisant les sessions commencent obligatoirement par cette fameuse fonction.
$codeAgentEnSession = $_SESSION ['codeAgent'];
//on récupere notre variable session dans une variable classique.
?>
Il faut bien comprendre que les variables sessions sont une notion totalement transparente à l'utilisateur et au programmeur. C'est un fonctionnement interne à PHP que tout bon programmeur doit connaître.
En espérant t'avoir éclairé,
Bonne journée,
Barracuda.
Barracuda8
Messages postés
108
Date d'inscription
vendredi 4 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2011
65
28 mai 2008 à 14:39
28 mai 2008 à 14:39
Salut,
Mort de rire pour le "Et n'inventez pas Merci!".
Voilà un lien qui explique ce que sont les variables sessions
https://phpsources.net/tutoriel-sessions.htm
Je pense que si tu lis l'article tu arriveras à déterminer par toi même le sens donné à la variable $agent.
Bonne Journée!
Barracuda.
Mort de rire pour le "Et n'inventez pas Merci!".
Voilà un lien qui explique ce que sont les variables sessions
https://phpsources.net/tutoriel-sessions.htm
Je pense que si tu lis l'article tu arriveras à déterminer par toi même le sens donné à la variable $agent.
Bonne Journée!
Barracuda.
PHP Session - Détruire toutes les variables de session
La fonction session_unset() détruit toutes les variables de session.
<?php session_unset(); ?>
Je croyais que la variable session se détruisait aprés la fermeture du navigateur, alors est il indispensable d'insérer la destruction des variable session ?
Alors si je comprend bien :
0 <?
1 session_start();
2 $agent=$post ['codeAgent'];
3 $_SESSION ['codeAgent']=$agent
4 ?>
Ce code est incrémenté dans le premier formulaire car (l1) tout d'abord il y à création d'un ficher qui récupére toutes les données émises par l'agent, puis (l2) la variable de l'agent récupére les valeurs émises (Son code) et au final (l3) il permet de stocker les informations consernant l'agent (C'est à dire se qu'il a entré, où il est allé... => Cela fonctionne comme des cookies mais il ne sont pas visible par l'agent et par nous même, et ca fichier s'auto détruit au bout de 30min ou à la fin de la connexion);
0 <?
1 session_start();
3 ?>
En revanche je ne comprend pas pourquoi il y a une recréation d'un nouveau fichier qui récupére les informations a moin que se fichier n'ai pas été supprimé et donc il ne fait que être complété.
Est que c'est cela ?
La fonction session_unset() détruit toutes les variables de session.
<?php session_unset(); ?>
Je croyais que la variable session se détruisait aprés la fermeture du navigateur, alors est il indispensable d'insérer la destruction des variable session ?
Alors si je comprend bien :
0 <?
1 session_start();
2 $agent=$post ['codeAgent'];
3 $_SESSION ['codeAgent']=$agent
4 ?>
Ce code est incrémenté dans le premier formulaire car (l1) tout d'abord il y à création d'un ficher qui récupére toutes les données émises par l'agent, puis (l2) la variable de l'agent récupére les valeurs émises (Son code) et au final (l3) il permet de stocker les informations consernant l'agent (C'est à dire se qu'il a entré, où il est allé... => Cela fonctionne comme des cookies mais il ne sont pas visible par l'agent et par nous même, et ca fichier s'auto détruit au bout de 30min ou à la fin de la connexion);
0 <?
1 session_start();
3 ?>
En revanche je ne comprend pas pourquoi il y a une recréation d'un nouveau fichier qui récupére les informations a moin que se fichier n'ai pas été supprimé et donc il ne fait que être complété.
Est que c'est cela ?
28 mai 2008 à 16:10
Merci encore !!