What are some common pitfalls when using PHP for form processing, as seen in the provided code snippet?

One common pitfall when using PHP for form processing is not properly sanitizing user input, which can leave the application vulnerable to SQL injection attacks. To solve this issue, it is important to use functions like `mysqli_real_escape_string()` or prepared statements to sanitize user input before using it in database queries.

// Original code snippet with vulnerability to SQL injection
$username = $_POST['username'];
$password = $_POST['password'];

$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($connection, $query);

// Fixed code snippet using prepared statements to prevent SQL injection
$username = mysqli_real_escape_string($connection, $_POST['username']);
$password = mysqli_real_escape_string($connection, $_POST['password']);

$query = "SELECT * FROM users WHERE username=? AND password=?";
$stmt = mysqli_prepare($connection, $query);
mysqli_stmt_bind_param($stmt, 'ss', $username, $password);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);