当用户注册帐户时,会创建一个包含列的表;用户 ID 和令牌。这是因为如果用户在不同的计算机上登录时检查记住我,每台计算机都有不同的令牌。
注册.php
//user specific table created
$create = $connectdb->prepare("CREATE TABLE `user-:username` (userid INT, token varchar(200)");
$executequery = $create->execute(array("username"=>$username));
这是 login.php 的片段;我创建令牌,将令牌存储在 cookie 中并将令牌插入到该用户特定的表中
if($remember==1) {
$token = md5(uniqid('',true));
setcookie('token',$token,time()+60*60*24*365);
$rememberquery = $connectdb->prepare("INSERT INTO `user-:username` VALUES ('',:username,:token)");
$rememberquery->execute(array(":username"=>$username,":token"=>$token));
$_SESSION['username'][0] = $username;
$_SESSION['username'][1] = $userid;
}
现在我被卡住了(假设我已经正确地完成了前面的操作)。何时/如何检查 cookie 令牌到数据库令牌?