Когда вы говорите «держите меня в курсе весь день», я предполагаю, что вы имеете в виду только на этой конкретной машине, верно? Вы можете использовать таблицу mysql для запоминания «времени входа в систему» или отметки времени, когда этот вход в систему больше не будет действительным, если они решат оставаться в системе в течение всего дня. Затем добавьте некоторый скрипт в начало вашего кода, который извлекает идентификатор этого пользователя из переменных сеанса. Сравните текущую временную метку этого пользователя с сохраненными «последними действительными значениями», и, если прошло более того времени, вы знаете, что они должны выйти из системы, после чего вы стираете сеанс и заставляете пользователя снова войти в систему. Этот метод означает, что они на самом деле не выйдут из системы, пока они не попытаются что-то сделать после этого, но им это покажется так. Кроме того, вместо использования mysql DB вы также можете сохранить этот последний действительный TS в переменной сеанса.
Так, например, когда пользователь впервые входит в систему с «держать меня в системе весь день выбранным»:
$_SESSION['log_me_out_at'] = strtotime(date("Y-m-d ")."23:59:59");
Затем каждый раз, когда к вашей системе обращаются к странице:
if( $_SESSION['log_me_out_at'] < time() ){
unset($_SESSION['user_is_accepted_in']);
}