What are the common pitfalls to avoid when implementing data deletion functionality in PHP applications to ensure data integrity and security?

Common pitfalls to avoid when implementing data deletion functionality in PHP applications include not properly validating user input, not confirming the deletion action with a confirmation dialog, and not implementing proper access controls to restrict who can delete data. To ensure data integrity and security, always validate user input, confirm deletion actions, and enforce access controls.

// Validate user input
$id = $_GET['id'];
if (!is_numeric($id)) {
    die('Invalid input');
}

// Confirm deletion action
if (isset($_POST['delete'])) {
    // Delete data
    $sql = "DELETE FROM table WHERE id = $id";
    // Execute query
}

// Implement access controls
if ($_SESSION['role'] !== 'admin') {
    die('Access denied');
}