What security measures should be taken when incorporating user input (such as $_GET variables) in PHP code within HTML templates?

When incorporating user input (such as $_GET variables) in PHP code within HTML templates, it is important to sanitize and validate the input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. One way to do this is by using functions like htmlentities() or htmlspecialchars() to escape special characters and prevent malicious code execution.

// Sanitize and validate user input from $_GET variable before using it in HTML template
$user_input = isset($_GET['input']) ? $_GET['input'] : ''; // Retrieve user input from $_GET variable
$sanitized_input = htmlspecialchars($user_input); // Sanitize user input to prevent XSS attacks

// Use the sanitized input in the HTML template
echo "<p>User Input: $sanitized_input</p>";