How can unique IDs be generated and stored in a database to prevent users from submitting a form multiple times in PHP?

To prevent users from submitting a form multiple times in PHP, you can generate a unique ID for each form submission and store it in a database. This way, when a user tries to submit the form again with the same unique ID, you can check if it already exists in the database and prevent duplicate submissions.

// Generate a unique ID
$unique_id = uniqid();

// Store the unique ID in the database
// Assuming $conn is the database connection
$stmt = $conn->prepare("INSERT INTO form_submissions (unique_id) VALUES (?)");
$stmt->bind_param("s", $unique_id);
$stmt->execute();

// Check if the unique ID already exists before processing the form submission
$stmt = $conn->prepare("SELECT * FROM form_submissions WHERE unique_id = ?");
$stmt->bind_param("s", $unique_id);
$stmt->execute();
$result = $stmt->get_result();

if($result->num_rows > 0) {
    // Handle duplicate submission
    echo "Form already submitted.";
} else {
    // Process the form submission
    // Your code here
}