What are some best practices for server-side validation in PHP to prevent spam submissions through contact forms?

Spam submissions through contact forms can be prevented by implementing server-side validation in PHP. This involves validating form inputs to ensure they are not being filled out by bots or malicious users. Some best practices include using CAPTCHA, implementing honeypot fields, and validating form inputs for expected data types.

// Server-side validation to prevent spam submissions through contact forms

// Check if the form was submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    // Validate form inputs
    $name = $_POST["name"];
    $email = $_POST["email"];
    $message = $_POST["message"];
    
    // Check for empty fields
    if (empty($name) || empty($email) || empty($message)) {
        echo "Please fill out all fields.";
    } else {
        // Additional validation logic can be added here
        
        // Send email or save form data to database
        // This is just an example, actual implementation may vary
        mail("example@example.com", "Contact Form Submission", $message);
        echo "Form submitted successfully!";
    }
}