diff --git a/core/users/user_profile.php b/core/users/user_profile.php index 93133d725..da8ba9fa6 100644 --- a/core/users/user_profile.php +++ b/core/users/user_profile.php @@ -406,7 +406,6 @@ $array['users'][$x]['salt'] = null; //remove remember me tokens - setcookie('remember', '', time() - 3600, '/'); $sql = "update v_user_logs "; $sql .= "set remember_selector = null, "; $sql .= "remember_validator = null "; @@ -415,6 +414,10 @@ $database->execute($sql, $parameters); unset($sql, $parameters); + //unset remember me cookie + unset($_COOKIE['remember']); + setcookie('remember', '', time() - 3600, '/'); + //send the password changed email if (valid_email($user_email)) { //generate email and body variables diff --git a/logout.php b/logout.php index 4edbc2795..19b82a59e 100644 --- a/logout.php +++ b/logout.php @@ -31,14 +31,21 @@ $logout_destination = $settings->get('login', 'logout_destination', PROJECT_PATH.'/'); //remove remember me token - setcookie('remember', '', time() - 3600, '/'); - $sql = "update v_user_logs "; - $sql .= "set remember_selector = null, "; - $sql .= "remember_validator = null "; - $sql .= "where user_uuid = :user_uuid "; - $parameters['user_uuid'] = $_SESSION['user_uuid']; - $database->execute($sql, $parameters); - unset($sql, $parameters); + if ($_COOKIE['remember']) { + $cookie_selector = explode(":", $_COOKIE['remember'])[0]; + + $sql = "update v_user_logs "; + $sql .= "set remember_selector = null, "; + $sql .= "remember_validator = null "; + $sql .= "where remember_selector = :remember_selector "; + $parameters['remember_selector'] = $cookie_selector; + $database->execute($sql, $parameters); + unset($sql, $parameters); + + //unset cookie + unset($_COOKIE['remember']); + setcookie('remember', '', time() - 3600, '/'); + } //destroy session session_unset();