<?php
session_start();
require 'db.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $remember = isset($_POST['remember']) ? true : false;

    $stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
    $stmt->execute([$username]);
    $user = $stmt->fetch();

    if ($user && password_verify($password, $user['password'])) {
        // Kullanıcı bilgilerini session'a kaydet
        $_SESSION['user_id'] = $user['id'];
        $_SESSION['username'] = $user['username'];
        $_SESSION['reference_code'] = $user['reference_code'];

        // Beni hatırla özelliği
        if ($remember) {
            $token = bin2hex(random_bytes(16));
            $expires = date('Y-m-d H:i:s', strtotime('+30 days'));
            
            $stmt = $pdo->prepare("INSERT INTO remember_tokens (user_id, token, expires) VALUES (?, ?, ?)");
            $stmt->execute([$user['id'], $token, $expires]);

            setcookie('remember_token', $token, strtotime('+30 days'), '/', '', true, true);
        }

        // Dashboard'a yönlendir
        header("Location: dashboard.php");
        exit;
    } else {
        $error = "Kullanıcı adı veya şifre hatalı.";
    }
}

// Hata varsa giriş sayfasına geri dön ve hatayı göster
if (isset($error)) {
    $_SESSION['login_error'] = $error;
    header("Location: giris.php");
    exit;
}
?>