What are the best practices for handling form validation and input sanitization in PHP?

When handling form validation and input sanitization in PHP, it is important to validate all user input to prevent malicious code injection and ensure data integrity. Best practices include using PHP functions like filter_var() for input validation, escaping user input before using it in SQL queries to prevent SQL injection, and using prepared statements to interact with databases securely.

// Example of form validation and input sanitization in PHP

// Validate email input
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);

// Sanitize input before using in SQL query
$username = mysqli_real_escape_string($conn, $_POST['username']);

// Use prepared statements to interact with database
$stmt = $conn->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$stmt->bind_param("ss", $username, $email);
$stmt->execute();
$stmt->close();