What are the best practices for validating form data on the server side in PHP, especially when using JavaScript for client-side validation?

When validating form data on the server side in PHP, especially when using JavaScript for client-side validation, it's important to re-validate the data on the server to prevent any potential security vulnerabilities or data inconsistencies. One way to do this is by checking each form field individually for the expected data type, length, and format. Additionally, it's recommended to use PHP functions like filter_var() or regular expressions to validate the input data.

// Server-side validation for form data in PHP

// Check if the form was submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    // Validate form data
    $name = $_POST["name"];
    $email = $_POST["email"];
    $password = $_POST["password"];
    
    // Validate name
    if (empty($name)) {
        $errors[] = "Name is required";
    }
    
    // Validate email
    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $errors[] = "Invalid email format";
    }
    
    // Validate password
    if (strlen($password) < 8) {
        $errors[] = "Password must be at least 8 characters long";
    }
    
    // Display errors or process form data
    if (!empty($errors)) {
        foreach ($errors as $error) {
            echo $error . "<br>";
        }
    } else {
        // Process form data
    }
}