Web サイトのサインアップ シート システムを作成しています。各サインアップ シートには、ID 番号が与えられます。ユーザーがサインアップすると、ユーザー名と ID 番号がデータベースに送信されます。ただし、重複したエントリを停止して、同じユーザーがイベントに 1 回しかサインアップできないようにしたいと考えています。SQL クエリで WHERE ステートメントを使用できません。これに取り組む最善の方法は何かと考えていました。1 つのイベントにしかサインアップできないか、1 つのイベントしかサインアップできないため、主キーまたは一意のキーを使用できません。前もって感謝します。
これはページのコードです
<?php
session_start();
$user = $_POST['username'];
$id = $_POST['id'];
if(empty($user) == FALSE )
{
$con=mysqli_connect("localhost","emuas","flgdls","EMUAS_signUp");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO SIGN_UP_TEST (EventID, User, Comments)
VALUES
('$_POST[id]','$_SESSION[username]','$_POST[comments]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
header("Location: {$_SERVER['HTTP_REFERER']}");
}
else
{
header("Location: {$_SERVER['HTTP_REFERER']}");
}
?>