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

When handling user input in PHP applications, it is crucial to sanitize and validate the input to prevent security vulnerabilities such as SQL injection and cross-site scripting attacks. One common best practice is to use functions like htmlentities() or htmlspecialchars() to escape user input before using it in SQL queries or displaying it on a webpage.

// Sanitize and validate user input
$userInput = $_POST['user_input'];
$cleanInput = htmlentities($userInput);

// Use the sanitized input in SQL query
$query = "SELECT * FROM users WHERE username = '$cleanInput'";
$result = mysqli_query($connection, $query);

// Display the sanitized input on a webpage
echo "Hello, " . $cleanInput;