0

ランダムコードを生成しています。

function GenerateID($email) 
{
    $nums = substr(hash('sha512', $email), 0, 10);
    $ID = strtoupper(str_shuffle($nums));
    return $ID;
}

そして、それをセッションに保存します

$_SESSION['id'] = $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