J'ai une page de gestion de session: sessmgr.php em>. Cette page est censée valider les informations de connexion de l'utilisateur, définir les cookies et conserver les variables de session en tant que mise à jour du temps d'expiration des cookies et en régénérant l'ID de session par une requête HTTP XML à intervalles réguliers jusqu'à ce que l'utilisateur se déconnecte. Je suis capable de mettre à jour l'ID de session mais je ne prolonger pas l'heure d'expiration des cookies. p>
Comment mettre à jour le temps d'expiration des cookies ici ?? p>
3 Réponses :
Je viens de réécrire le cookie avec la nouvelle fois. P>
Vous devriez être capable de mettre à jour l'heure d'expiration avec setcookie code>
comme:
setcookie("Cookiename", $value, NewExpirationTime)
J'ai trouvé l'erreur qui ne laissait pas les cookies à mettre à jour. La valeur de la cookie que j'essayais d'écrire était de devenir NULL juste avant d'écrire le cookie car j'essayais d'utiliser $ _globals au lieu de $ _session.
@Marcelbalzer, connaissez-vous que le cookie ne fonctionnera pas à partir de 2038? C'est juste? Parce que j'ai vérifié ce lien. Stackoverflow.com/Questtions/3290424/... < / a>
@Marcelbalzer Bien pour l'instant, oui, nous sommes coiffés à 2038, mais je pense que, au moment où nous arrivons à 2035 (si pas plus tôt), nous aurons mis en œuvre un meilleur système ou converti en 64 bits, donc ce n'est pas vraiment une préoccupation.
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > SESSION_TIMEOUT)) { // SESSION_TIMEOUT is the amount of time you want the session to be. session_unset(); session_destroy(); header('Location: login.php'); } $_SESSION['LAST_ACTIVITY'] = time(); Add this to your page. The if-statement checks if the session time has expired and redirects the user to loginpage.php. Otherwise it just updates the session time Of course you change things to a cookie syntax. Missed that I use sessions and you wanted a cookie.
Si vous définissez un cookie existant avec une nouvelle valeur, il met à jour le cookie au lieu de l'écraser, il suffit de définir la date de l'expiration de tous les cookies à chaque fois