我正在尝试将登录数据插入登录表,并且我正在使用以下代码:
登录.php
$verify = password_verify($password, $results['user_password']);
if($verify){
$session->logUser($results['user_id']);
header('Location: dashboard.php');
}else{
//Error
}
Run Code Online (Sandbox Code Playgroud)
然后在session.php我有一个会话类:
public function logUser($userId){
$_SESSION['userId'] = $userId;
$token = $this->createToken();
$timestamp = time() + (86400 * 14);
$connection = new Connection;
$db = $connection->openConnection();
$stmt = $db->query("INSERT INTO logins (login_token, login_userId, login_expires) VALUES ('$token', '$userId', '$timestamp')");
$stmt->execute();
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,正在生成令牌,并且所有数据都是正确的,但是当我检查数据库时,它正在创建两条记录(相同的记录但具有不同的 auto_increment ID)。
为什么会这样?提前致谢。
编辑:我正在尝试创建持久登录来执行此令牌操作,我还没有创建 cookie,但首先我想测试登录数据是否正确存储在数据库中。