<?php
// test_insert.php - اختبار إدراج بيانات
error_reporting(E_ALL);
ini_set('display_errors', 1);

require_once 'config.php';

echo "<h1>🔧 اختبار إدراج بيانات في قاعدة البيانات</h1>";

// 1. التحقق من وجود الجداول
echo "<h2>1. التحقق من الجداول:</h2>";

$tables = ['customers', 'otp_codes'];
foreach ($tables as $table) {
    $result = $conn->query("SHOW TABLES LIKE '$table'");
    if ($result->num_rows > 0) {
        echo "<p style='color:green'>✅ جدول $table موجود</p>";
    } else {
        echo "<p style='color:red'>❌ جدول $table غير موجود</p>";
        
        // محاولة إنشاء الجدول إذا لم يكن موجوداً
        if ($table == 'customers') {
            $sql = "CREATE TABLE IF NOT EXISTS customers (
                id INT AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(100) NOT NULL,
                phone VARCHAR(20) NOT NULL UNIQUE,
                email VARCHAR(100) UNIQUE,
                password VARCHAR(255) NOT NULL,
                email_verified TINYINT DEFAULT 0,
                address TEXT,
                latitude DECIMAL(10,8),
                longitude DECIMAL(11,8),
                remember_token VARCHAR(100),
                token_expires DATETIME,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";
            
            if ($conn->query($sql)) {
                echo "<p style='color:green'>✅ تم إنشاء جدول customers</p>";
            } else {
                echo "<p style='color:red'>❌ فشل إنشاء الجدول: " . $conn->error . "</p>";
            }
        }
        
        if ($table == 'otp_codes') {
            $sql = "CREATE TABLE IF NOT EXISTS otp_codes (
                id INT AUTO_INCREMENT PRIMARY KEY,
                email VARCHAR(100) NOT NULL,
                otp_code VARCHAR(6) NOT NULL,
                purpose ENUM('registration','reset_password') NOT NULL,
                expires_at DATETIME NOT NULL,
                verified TINYINT DEFAULT 0,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";
            
            if ($conn->query($sql)) {
                echo "<p style='color:green'>✅ تم إنشاء جدول otp_codes</p>";
            } else {
                echo "<p style='color:red'>❌ فشل إنشاء الجدول: " . $conn->error . "</p>";
            }
        }
    }
}

// 2. اختبار إدراج بيانات
echo "<h2>2. اختبار إدراج بيانات:</h2>";

// بيانات تجريبية
$test_name = "مستخدم تجريبي";
$test_phone = "777777777";
$test_email = "test" . time() . "@example.com";
$test_password = password_hash("123456", PASSWORD_DEFAULT);
$test_address = "عنوان تجريبي";

$stmt = $conn->prepare("INSERT INTO customers (name, phone, email, password, address) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("sssss", $test_name, $test_phone, $test_email, $test_password, $test_address);

if ($stmt->execute()) {
    echo "<p style='color:green'>✅ تم إدراج بيانات تجريبية بنجاح</p>";
    echo "<p>البيانات المدرجة:</p>";
    echo "<ul>";
    echo "<li>الاسم: $test_name</li>";
    echo "<li>الهاتف: $test_phone</li>";
    echo "<li>البريد: $test_email</li>";
    echo "</ul>";
    
    // جلب آخر مستخدم مضاف
    $last_id = $stmt->insert_id;
    $result = $conn->query("SELECT * FROM customers WHERE id = $last_id");
    $user = $result->fetch_assoc();
    echo "<p>✅ تم إنشاء مستخدم برقم: " . $user['id'] . "</p>";
    
} else {
    echo "<p style='color:red'>❌ فشل الإدراج: " . $stmt->error . "</p>";
}
$stmt->close();

// 3. عرض هيكل الجدول
echo "<h2>3. هيكل جدول customers:</h2>";
$result = $conn->query("DESCRIBE customers");
if ($result) {
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>الحقل</th><th>النوع</th><th>فارغ</th><th>المفتاح</th></tr>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>" . $row['Field'] . "</td>";
        echo "<td>" . $row['Type'] . "</td>";
        echo "<td>" . $row['Null'] . "</td>";
        echo "<td>" . $row['Key'] . "</td>";
        echo "</tr>";
    }
    echo "</table>";
}

$conn->close();
?>