0

我正在生成一个随机代码。

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 在执行时会重新生成。

4

0 回答 0