我正在生成随机代码。
function GenerateID($email)
{
$nums = substr(hash('sha512', $email), 0, 10);
$ID = strtoupper(str_shuffle($nums));
return $ID;
}
然后我将它存储到会话中
$_SESSION['id'] = $ID;
然后我从数据库中选择该ID,然后ID会发生变化,因为每当我激活它时,它都会重新生成而不是保持不变。
$makesure = $CONNECT_TO_DATABASE->prepare("SELECT * FROM users WHERE id = :id LIMIT 1");
$makesure->bindValue(':id', $ID);
$makesure->execute();
如何让它停止再生?有没有比使用单独文件更好的解决方案?
函数generateID位于functions.inc.php中 我在index.php处理它。
基本上我制作了一个快速注册系统,用户将他的电子邮件和点击提交,然后他收到一个唯一生成的字符串。
可能有多个用户使用相同的电子邮件,但ID必须不同。
所以这就是我选择指定刚刚注册的用户的方式:
$fetch = $CONNECT_TO_DATABASE->prepare("SELECT * FROM users WHERE email = :email AND :id LIMIT 1");
$fetch->bindValue(':email', $_SESSION['email']);
$fetch->bindValue(':id', $_SESSION['id']);
$fetch->execute();
但这没有做任何事情,因为我假设会话ID在执行时重新生成。