A quoi sert les session en php

rwikus Messages postés 994 Statut Membre -  
Nabla's Messages postés 20731 Statut Contributeur -
Bonjour,
a quoi peut servir la notion de session j'ai lu des tuto et tout et j'arrive toujours pas a comprendre mercii

3 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
Yo!

A mémoriser des données entre plusieurs pages visitées.
L'avantage des sessions, c'est qu'elles sont par client. C'est à dire que si monsieur X se connecte sur commentcamarche.net et que monsieur Y fait pareil, ils n'auront pas les mêmes données de session.

Qu'entends-je par mémoriser des données entre deux pages visitées?
Par exemple lorsque tu te connectes sur un site, tu entres ton login et ton mot de passe. Le site va regarder dans sa base de données si la paire login/mot de passe est correct et va insérer des variables dans ta session, comme par exemple ton nom d'utilisateur et le fait que tu es connecté.
Comme ça, les prochaines pages que tu visiteras sur le site récupèreront ces données et sauront que tu es connecté et qui tu es. Ca t'évite de te relogger à chaque page du site :)
9
kilian Messages postés 8854 Statut Modérateur 1 526
 
Si tu cliques sur "memoriser", tu vas tomber sur une page qui n'a rien à voir. Amusant...
0
Utilisateur anonyme
 
bonjour,
j'ai commencer l'aprentissage du php depuis quelques jours et moi aussi j'ai du mal à comprendre le principe de sessions, aprés la creation d'une session et l'enregistrement de variables est ce qu'en sera obligé de recharger ses variables pour chaque page visitée?
je vous remrecie pour vos répenses.
0
PHP
 
Non, c'est automatique, si les sessions sont actif
0
Colbi97 Messages postés 643 Statut Membre 12
 
Salut,
C'est effectivement automatique si tu n'oublie pas de mettre
session_start();
au début de chacune de tes pages.
0
Nabla's Messages postés 20731 Statut Contributeur 3 193
 
pour pousser un peu plus loin ta connaissance sur les session:
les données que tu enregistre dans le tableau $_SESSION sont enregistrées dans un dossier (nomém session) sur le serveur. Ces données sont à priori protégées.
lorsqu'un client se connecte à une page utilisant session_start , php regarde si un coockie nommé php_sess_id (ou un truc du genre) a été envoyé dans la requete. Si oui, ca veut dire qu'un fichier existe surement déja pour cette personne, et charge le fichier correspondant. Si non, un fichier est créé, et un coockie identifiant la session est envoyé à l'utilisateur, qui le reverra à chaque fois.


il y a quelques explications dans cet article que j'ai fais il y a quelques temps:
https://www.commentcamarche.net/faq/20499-fusion-de-sessions-php#le-fonctionnement-des-sessions
bon, j'ai toujours pas vraiment trouvé d'applications à ce code, mais il démontre le fonctionnement des sessions.

Une session est potentiellement piratable (il suffit de tomber sur une valeur du cookie d'un autre utilisateur). Je te conseilles de "sécuriser" ca en vérifiant que l'ip de la session reste toujours identique (peut etre que des fonctions php existent pour ca).
0