Fonction de réactualisation d'une session

  Information

Cette fonction permet de vérifier si la session est expirer.
Si oui, elle la détruit, sinon elle l'actualise.

Vous devez crée une variable $_SESSION['time'] lors de la création de la session (la connexion de l'utilisateur).

A appeler juste après le session_start, comme ceci:

session_start();
actualiser_session();

PS: n'oubliez pas de crée un fichier fonction.php, d'y placer le code et de l'inclure dans chaque page ou la fonction est appellé.

  code source classé dans  Sessions

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
                               
/*---------------------------------------------------------------*/
/*
Titre : Fonction de réactualisation d'une session

URL : https://phpsources.net/code_s.php?id=536
Auteur : Boustifire
Date édition : 25 Nov 2009
Date mise a jour : 21 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*---------------------------------------------------------------*/

function actualiser_session()
{
if ( isset($_SESSION['time']) ) // Test: Si il existe une session
{
$tempsMaxSession = 3600;
// le temps maximal que dure la session en seconde

if( ($_SESSION['time'] + $tempsMaxSession) >= time() )
// Si l'action sur la session date de moins de $tempsMaxSession
$_SESSION['time'] = time(); // Session reactialisé
else // Sinon
session_destroy(); // Session detruite
}
}
?>

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
   isset
Détermine si une variable est affectée
PHP 4, 5, 7 et 8
   session_destroy
Détruit une session
PHP 4, 5, 7 et 8
   time
Retourne le timestamp UNIX actuel
PHP 4, 5, 7 et 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[3]

  • avatar

    Invité

    21 Juin 2011 à 20:33

    je propose de créer une autre fonction en complement de ta fonction

    function demarrer_session() {     session_start(); 
    $_SESSION['time']= time();    }
    et de l'inclure dans le même fichier que ta fonction on pourra donc faire
    au moment de la connexion d'un utilisateur

    demarrer_session(); actualiser_session();

  • avatar

    Boustifire

    25 Nov 2009 à 10:34

    Hum, tu a raison pour le time, mais bon pour le temps de la session en parametre de fonction, je ne trouve pas utile.
    j'essayerai de changer sa dans l'aprem, merci :)

  • avatar

    Isaki

    25 Nov 2009 à 09:59

    Bonjour Au lieu d'initialiser la session 'time' en externe, ca serait mieux de le faire directement dans la fonction en ajoutant une condition à la fin du snippet...
         if ( isset($_SESSION['time']) ) // Test: Si il existe une session
        {
        ...
        }

         else
         {
          $_SESSION['time'] = time(); // Initialise la session avec l'heure
         }   et vu qu'on doit mettre cette fonction tout en haut de chaque script, pourquoi ne pas inclure le session_start(); également dans la fonction ?   et pour terminer passer le parametre du temps dans la fonction, au final ca donnerai actualiser_session(3600);


 Autres snippets qui pourraient vous intéressez

Supprimer 1 variable d'une session

Compatibilité : PHP 5, PHP 7, PHP 8

Supprimer une variable d'une session avec la fonction unset () qui prend en paramètre la variable à détruire.

Savoir si 1 valeur de session a déjà été déclaré

Compatibilité : PHP 5, PHP 7, PHP 8

Savoir si une valeur appartient déjà à la session.

Sauvegarder une valeur dans une session PHP

Compatibilité : PHP 5, PHP 7, PHP 8

Sauvegarder une variable, un texte, des caractères spéciaux dans une session. Avec ex pour upgrader et supprimer 1 valeur de session.

Enlève le PHPSESSID de l'URL et initialise la session

Compatibilité : PHP 5, PHP 7, PHP 8

Vous démarrez 1 session et vous avez le PHPSESSID dans l'URL : Ce code nettoie l'url et initialise votre session.

Création d'un identifiant unique

Compatibilité : PHP 5, PHP 7, PHP 8

Création d'un id unique, peut-être pour une session ou autre emploie, par ex utile pour protéger des pages de session.

* Requêtes exécutées avec Recherche Contextuelle