Are there best practices for distinguishing between multiple form submissions in PHP to ensure only the intended form is processed?

When dealing with multiple form submissions in PHP, one common approach to ensure only the intended form is processed is to include a hidden field in each form with a unique identifier. This identifier can then be checked on the server side to determine which form was submitted. By validating this identifier, you can prevent unintended form submissions from being processed.

// Form 1
<form method="post">
    <input type="hidden" name="form_id" value="form1">
    <!-- other form fields -->
    <button type="submit">Submit Form 1</button>
</form>

// Form 2
<form method="post">
    <input type="hidden" name="form_id" value="form2">
    <!-- other form fields -->
    <button type="submit">Submit Form 2</button>
</form>

// PHP code to process form submissions
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $form_id = $_POST['form_id'];

    switch ($form_id) {
        case 'form1':
            // Process Form 1 data
            break;
        case 'form2':
            // Process Form 2 data
            break;
        default:
            // Handle invalid form submissions
            break;
    }
}