What are common mistakes when using PHP to handle form submissions for adding and subtracting numbers?

One common mistake when handling form submissions for adding and subtracting numbers in PHP is not properly sanitizing and validating user input. This can lead to security vulnerabilities and unexpected behavior. To solve this, always sanitize and validate user input before performing any calculations.

<?php
// Get user input from the form
$number1 = isset($_POST['number1']) ? $_POST['number1'] : 0;
$number2 = isset($_POST['number2']) ? $_POST['number2'] : 0;
$operation = isset($_POST['operation']) ? $_POST['operation'] : '';

// Sanitize and validate user input
$number1 = filter_var($number1, FILTER_VALIDATE_INT);
$number2 = filter_var($number2, FILTER_VALIDATE_INT);

if ($number1 === false || $number2 === false) {
    echo "Invalid input. Please enter valid numbers.";
    exit;
}

// Perform the calculation based on the operation
$result = 0;
if ($operation === 'add') {
    $result = $number1 + $number2;
} elseif ($operation === 'subtract') {
    $result = $number1 - $number2;
} else {
    echo "Invalid operation. Please select either 'add' or 'subtract'.";
    exit;
}

// Display the result
echo "Result: $result";
?>