DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

Logout Inactive User

12.23.2011
| 3131 views |
  • submit to reddit
        <?php
# Start a session
session_start();
# Check if a user is logged in
function isLogged(){
    if($_SESSION['logged']){ # When logged in this variable is set to TRUE
        return TRUE;
    }else{
        return FALSE;
    }
}

# Log a user Out
function logOut(){
    $_SESSION = array();
    if (isset($_COOKIE[session_name()])) {
        setcookie(session_name(), '', time()-42000, '/');
    }
    session_destroy();
}
<a href="http://www.giochicucina.biz">giochi cucina</a>
# Session Logout after in activity
function sessionX(){
    $logLength = 1800; # time in seconds :: 1800 = 30 minutes
    $ctime = strtotime("now"); # Create a time from a string
    # If no session time is created, create one
    if(!isset($_SESSION['sessionX'])){ 
        # create session time
        $_SESSION['sessionX'] = $ctime; 
    }else{
        # Check if they have exceded the time limit of inactivity
        if(((strtotime("now") - $_SESSION['sessionX']) > $logLength) && isLogged()){
            # If exceded the time, log the user out
            logOut();
            # Redirect to login page to log back in
            header("Location: /login.php");
            exit;
        }else{
            # If they have not exceded the time limit of inactivity, keep them logged in
            $_SESSION['sessionX'] = $ctime;
        }
    }
}
# Run Session logout check
sessionX();
?>