What are some common vulnerabilities in PHP forms and how can they be mitigated?

Common vulnerabilities in PHP forms include SQL injection, cross-site scripting (XSS), and CSRF attacks. To mitigate these vulnerabilities, developers should use prepared statements to prevent SQL injection, sanitize user input to prevent XSS attacks, and implement CSRF tokens to protect against CSRF attacks.

// Mitigating SQL injection using prepared statements
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->bindParam(':username', $username);
$stmt->execute();
```

```php
// Sanitizing user input to prevent XSS attacks
$clean_input = htmlspecialchars($_POST['input']);
```

```php
// Implementing CSRF tokens to protect against CSRF attacks
session_start();
$token = bin2hex(random_bytes(32));
$_SESSION['csrf_token'] = $token;