如何在此代码上添加会话超时功能

时间:2016-06-16 05:41:32

标签: php session

我正在使用以下 PHP 功能进行登录并在登录时添加会话。我希望我的会话在30分钟后自动结束。有什么建议吗?

public function doLogin($uname,$upass)
{
    try
    {
        $stmt = $this->conn->prepare("SELECT user_id, user_name, user_pass FROM users WHERE user_name=:uname");
        $stmt->execute(array(':uname'=>$uname));
        $userRow=$stmt->fetch(PDO::FETCH_ASSOC);
        if($stmt->rowCount() == 1)
        {
            if(password_verify($upass, $userRow['user_pass']))
            {
                $_SESSION['user_session'] = $userRow['user_id'];
                return true;
            }
            else
            {
                return false;
            }
        }
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
    }
}

1 个答案:

答案 0 :(得分:0)

为了自动,您可以在javascript或jquery中使用一些功能

你可以设置一个像这样的cookie的时间:

setcookie("ses", "" , time() - 3600, "/");

时间() - 3600是1小时,当用户查看页面时,会话将被关闭