Recharger un bout de code php toute les x secondes

Bonjour,
j'ai un code de déconnexion automatique :
function deco_auto($temps_minute){ 
	if(isset($_SESSION['id'])){
        if(is_valid_userpanel()){
		  if(!isset($bdd)){
		  	$bdd = connexion_bdd("administration");
		  } 
		  $times_limit = (60*$temps_minute);
		  	if($_SESSION['timeout'] + $times_limit <= time()) {
                header('Location: deconnexion.php?id_membre='.$_SESSION['panel_id'].'&token='.$_SESSION['token_panel']);
		  	} else {
 	 	    		$_SESSION['timeout'] = time();
		  	}
        }
	}
}

et j'aimerais savoir comment vérifier toutes les x secondes si les variables
$_SESSION['timeout']
+
$times_limit
sont supérieurs à
time()
...
Merci beaucoup
Nils0

4 réponses

  1. A vrai dire je comprend pas trop pourquoi tu veux faire ça, pourquoi lancer le script tout les x secondes alors que tu as juste à mettre ce script sur chaque page pour vérifier si la personne à lancer une requête après le timeout et donc le déco.
    0
    1. Peut-être avec un timer en javascript (setTimeout) et ajax pour l'appel de la fonction php.
      0
      1. Contributeur Ambassadeur
        bonjour,
        tu ne peux manipuler les variables $_SESSION que lorsque le code php est exécuté suite à un url reçu dans le contexte de cette session.
        donc, si tu veux vraiment travailler comme tu le décris, c'est plutôt du coté du navigateur que tu dois automatiser l'appel régulier de la page php.
        qu'essaies-tu de réaliser exactement?
        0
        1. J'ai un espace admin et a chaque page je vérifie si le temps limite est dépassé et si oui, Le script marche très bien sauf que il faut que je clique sur le lien d'une autre page ou que je recharge la page pour être déconnecter et rediriger.
          Et donc, je voudrais savoir comment être déconnecté sans avoir a recharger la page ...
          Merci
          0
        2. Contributeur Ambassadeur
          @Utilisateur anonymeeh bien, tu ne peux pas être déconnecté sans que le navigateur envoie un url au serveur.
          si tu veux être informé immédiatement, tu dois automatiser le travail du côté du navigateur.
          0
        3. En fait, j'aimerais faire comme PhpMyAdmin, phpmyadmin recharge la page automatiquement et nous déconnecte, j'aimerais faire la même chose
          Merci
          0
        4. A vrai dire il y a un truc très bien qui se nomme EventSource, c'est du JS:
          https://developer.mozilla.org/fr/docs/Web/API/EventSource

          Bon le support est inexistant sur IE mais le reste fonctionne.

          Là c'est une connexion permanente du serveur au client (mais pas l'inverse), donc le script s’exécute presque tout le temps, et donc dès que la session est terminée, PHP envois un message au client, et là tu recharges la page ou redirige, mais cette fois il n'y a plus de session
          0
        5. ok merci beaucoup je vais voir ce que je peux faire
          0
      2. Contributeur Ambassadeur
        je te suggère de d'abord décrire ce que tu veux obtenir, puis comment tu vas le réaliser, avant de plonger dans le code.
        0
        1. ok je vais voir ça
          0
        2. J'ai fais l'exemple qui marche mais je ne vois pas comment modifier le code pour ce que je voudrais faire
          0
        3. c'est ce que je veux mais en php
          0