What are best practices for securely handling user input in PHP forms?

When handling user input in PHP forms, it is crucial to sanitize and validate the data to prevent security vulnerabilities such as SQL injection and cross-site scripting attacks. One way to achieve this is by using PHP functions like htmlspecialchars() to sanitize input and filter_var() to validate input against specific criteria.

// Sanitize user input using htmlspecialchars()
$sanitized_input = htmlspecialchars($_POST['user_input']);

// Validate user input using filter_var()
$validated_input = filter_var($_POST['user_input'], FILTER_SANITIZE_STRING);