<?php
session_start();

// Sicherstellen, dass der Benutzer eingeloggt ist
if (!isset($_SESSION["user_id"])) {
    header("Location: login.php");
    exit;
}

$servername = "sql7.freesqldatabase.com";
$username = "sql7770556";
$password = "CFqdPQD4a1";
$dbname = "sql7770556";

$conn = new mysqli($servername, $username, $password, $dbname, 3306);
if ($conn->connect_error) die("Verbindung fehlgeschlagen: " . $conn->connect_error);

$user_id = $_SESSION["user_id"];

// Guthaben abrufen
$stmt = $conn->prepare("SELECT username, balance FROM users WHERE id = ?");
$stmt->bind_param("i", $user_id);
$stmt->execute();
$stmt->bind_result($username, $balance);
$stmt->fetch();
$stmt->close();

echo "<h2>👋 Willkommen, $username</h2>";
echo "<p>💰 Dein Guthaben: " . number_format($balance, 2, ',', '.') . " €</p>";

// Überprüfen, ob `to` und `amount` als GET-Parameter übergeben wurden
if (isset($_GET['to']) && isset($_GET['amount'])) {
    $receiver = $_GET['to'];
    $amount = $_GET['amount'];

    // Prüfen, ob der Betrag positiv und nicht größer als das Guthaben ist
    if ($amount <= 0) {
        echo "❌ Der Betrag muss größer als 0 sein!";
    } elseif ($amount > $balance) {
        echo "❌ Du hast nicht genug Guthaben für diese Transaktion!";
    } else {
        // Empfänger suchen
        $stmt = $conn->prepare("SELECT id FROM users WHERE username = ?");
        $stmt->bind_param("s", $receiver);
        $stmt->execute();
        $stmt->bind_result($receiver_id);
        $stmt->fetch();
        $stmt->close();

        if ($receiver_id) {
            // Geld senden
            $stmt = $conn->prepare("UPDATE users SET balance = balance - ? WHERE id = ?");
            $stmt->bind_param("di", $amount, $user_id);
            $stmt->execute();
            $stmt->close();

            $stmt = $conn->prepare("UPDATE users SET balance = balance + ? WHERE id = ?");
            $stmt->bind_param("di", $amount, $receiver_id);
            $stmt->execute();
            $stmt->close();

            // Transaktion speichern
            $stmt = $conn->prepare("INSERT INTO transactions (sender_id, receiver_id, amount) VALUES (?, ?, ?)");
            $stmt->bind_param("iid", $user_id, $receiver_id, $amount);
            $stmt->execute();
            $stmt->close();

            echo "✅ Zahlung an Geschäftskonto $receiver erfolgreich!";
        } else {
            echo "❌ Geschäftskonto nicht gefunden!";
        }
    }
} else {
    echo "❌ Ungültige Anfrage. Bitte die Parameter `to` und `amount` in der URL angeben.";
}

$conn->close();
?>
