Bonsoir,
Essaie d'aérer un peu tes phrases
Essayons de voir les différents cas :
1) l'utilisateur n'est pas connecté
2) il est connecté et sur le site
3) il est parti du site ou inactif pendant une longue période
Il faut effectivement utiliser les sessions, en premier n'oublie pas de faire un session_start(); après chaque début de fichier
Ensuite il va falloir que tu voies ce que tu retiens dans tes sessions, son id dans la base, un nom d'utilisateur ? Par exemple il est inutile et même dangereux de retenir le mot de passe dans la session.
Je te conseille de ne retenir que l'id de la session dans $_SESSION['id'], et d'aller vérifier à chaque fois dans la base si l'id existe et si les ip correspondent.
1 2 3 4 5 6 7
| create table session
{
id_session int auto_increment,
ip varchar(15) not null,
temps_inactivite int,
primary key id_session
} |
1) un isset($_SESSION) te retournera 0, donc tu affiches ton formulaire
2) pour chaque page tu vas vérifier si la session en cours est valide, avec un ordre du style
'select temps_inactivite from sessions where id_session='.securise_id_session($idSession).' and ip="'.$_SERVER['REMOTE_ADDR'].'"';
3) si ce que la requête te renvoit est supérieur au temps d'inactivité que tu as défini, tu détruis la session.
Quelques pistes de réflexion
Partager