What is the recommended approach for handling form submissions in PHP to avoid sending duplicate emails?

To avoid sending duplicate emails when handling form submissions in PHP, you can use a unique identifier for each form submission, such as a timestamp or a random token. Store this identifier in a database or session variable and check it before sending the email to ensure that the same form submission is not processed multiple times.

// Check if the form has been submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Generate a unique identifier for this form submission
    $submission_id = md5(uniqid());

    // Store the identifier in a session variable
    session_start();
    $_SESSION['submission_id'] = $submission_id;

    // Process the form submission
    // Send email, save data to database, etc.

    // Check if the same form submission is being processed again
    if ($_SESSION['submission_id'] == $submission_id) {
        // Send email only if it's a new form submission
        // mail() function or other email sending code
    }
}