我有一个基本的PHP CRUD(PDO)框架,其中有一个登录表单,用于登录用户并设置默认cookie PHPSESSID,该会话到期时到期......
我对这个基本设置感到满意,但我想通过在登录表单上添加“保持登录状态”选项来扩展它。
我该如何解决这个问题?我是否配置PHPSESSID的到期日期,如果是,我是如何/在何处这样做,或者我是否创建了与PHPSESSID不同的新cookie?
供参考,这是我的用户类:
Help -> Check for Update...
谢谢!
编辑:
这么简单吗?
include('password.php');
class User extends Password{
private $_db;
function __construct($db){
parent::__construct();
$this->_db = $db;
}
private function get_user_hash($username){
try {
$stmt = $this->_db->prepare('SELECT password, username, userID FROM users WHERE username = :username ');
$stmt->execute(array('username' => $username));
return $stmt->fetch();
} catch(PDOException $e) {
echo $e->getMessage();
}
}
public function login($username,$password){
$row = $this->get_user_hash($username);
if($this->password_verify($password,$row['password']) == 1){
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $row['username'];
$_SESSION['userID'] = $row['userID'];
return true;
}
}
public function logout(){
session_destroy();
}
public function is_logged_in(){
if(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true){
return true;
}
}
}