What are some best practices for handling IDs and URLs in PHP to ensure security and efficiency?

Issue: When handling IDs and URLs in PHP, it is important to sanitize and validate user input to prevent SQL injection attacks and other security vulnerabilities. Additionally, using prepared statements for database queries can help protect against SQL injection. It is also recommended to use HTTPS for secure transmission of data. Code snippet:

// Sanitize and validate ID input
$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);

if (!$id) {
    // Handle invalid ID input
}

// Use prepared statements for database queries
$stmt = $pdo->prepare("SELECT * FROM table WHERE id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();

// Use HTTPS for secure transmission of data
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    exit();
}