What are some common errors or pitfalls to avoid when assigning variables based on user input in PHP?

One common error when assigning variables based on user input in PHP is not properly sanitizing or validating the input, which can lead to security vulnerabilities such as SQL injection or cross-site scripting attacks. To avoid this, always sanitize and validate user input before assigning it to variables. Use functions like htmlspecialchars() to prevent XSS attacks and prepared statements to prevent SQL injection.

// Sanitize and validate user input before assigning to variables
$user_input = $_POST['user_input'];
$sanitized_input = htmlspecialchars($user_input);
// Use prepared statements to prevent SQL injection
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$sanitized_input]);