Pour l'utilisation n°1 session_set_cookie_params()
. Pour expirer après 600 secondes
session_set_cookie_params(600)
(remarque : contrairement à l'habituel setcookie
la fonction session_set_cookie_params
utilise les secondes que vous voulez qu'il vive, il ne doit pas être time() + 600
ce qui est une erreur courante)
Pour le numéro 2, il suffit de faire un petit script appelé par AJAX :
<?php
session_start()
if( empty($_SESSION['active']) ) {
print "Expired"
}
else {
print "Active"
}
?>
Du côté Javascript (en utilisant JQuery)
$.get('path/to/session_check.php', function(data) {
if( data == "Expired" ) {
alert("Session expired");
} else if (data == "Active" ) {
alert("Session active");
}
});