Plusieurs pages PHP et SESSION

Fermé
parousky Messages postés 325 Date d'inscription mardi 11 septembre 2012 Statut Membre Dernière intervention 20 février 2022 - 9 févr. 2014 à 18:03
BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 - 9 févr. 2014 à 19:47
Bonjour, j'aurai aimé avoir quelques précisions sur les sessions, et surtout, comment faire pour garder une connexion active tant que l'utilisateur est sur le site.
Parce que j'ai essayé pas mal de truc jusque là et ça n'a jamais marché...

Alors j'ai une page "Connexion.php" avec le formulaire de connexion qui active la session lorsque les identifiants renseignés sont bons. Et sur les autres pages de mon site, j'ai fait un include('Connexion.php'). Mais ça ne marche jamais, à chaque fois ça me dit que je ne suis pas connecté et ça me remet le formulaire de connexion.

Alors sinon peut-être que le formulaire de connexion pourrait envoyer les variables de session à toutes les pages de mon site mais je ne sais pas comment faire ça...
Alors en gros, est-ce que vous avez un exemple de code qui utilise les sessions sur plusieurs pages pour que je puisse clairement voir comment ça fonctionne ?
Merci d'avance !
A voir également:

1 réponse

BlackYoup Messages postés 181 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 10 juin 2014 20
9 févr. 2014 à 19:47
Salut,

Déja, il faut qu'au début de chacune de tes pages (avant le !DOCTYPE du moins) tu utilises session_start();
https://www.php.net/manual/fr/function.session-start.php

Ensuite, imaginons que l'utilisateur se connecte. Lorsque tu vérifies si ses logins sont bons, il suffit, par exemple, d'enregistrer une variable de session si c'est le cas :

$_SESSION['connected'] = true;

Ensuite, il suffit de regarder si cette variable existe (quelque part dans tes pages, ou par exemple, Connexion.php s'en occupe) afin de savoir si l'utilisateur est connecté :

<?php
session_start(); // on démarre la session
if(isset($_SESSION['connected']) && $_SESSION['connected'] === true){ // si la variable de session existe
// alors on affiche que le client est connecté
} else{
// sinon, on affiche qu'il n'est pas connecté
}

Il faut savoir qu'une session est valable temps que le client laisse son navigateur ouvert et que la session n'a pas expirée (10 ou 15 min par défaut pour apache il me semble)

n'hésite pas si tu as d'autres questions ;)
Bonne fin de WE
0