<?php
session_start();

$db_host = 'localhost';
$db_name = 'kamis';
$db_user = 'fop';
$db_pass = '1145qqrt';

try {
    $pdo = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8mb4", $db_user, $db_pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die('数据库连接失败');
}

$error = '';
$success = '';

// ===== 登录处理 =====
if ($_POST && isset($_POST['login'])) {
    $account = trim($_POST['account'] ?? '');
    $password = trim($_POST['password'] ?? '');
    
    if (!$account || !$password) {
        $error = '请输入账号和密码';
    } else {
        $stmt = $pdo->prepare("SELECT * FROM users WHERE qq = ? OR email = ? OR uid = ?");
        $stmt->execute([$account, $account, $account]);
        $user = $stmt->fetch();
        
        if ($user && password_verify($password, $user['password'])) {
            $_SESSION['user_id'] = $user['id'];
            $_SESSION['qq'] = $user['qq'];
            $_SESSION['nickname'] = $user['nickname'];
            $_SESSION['uid'] = $user['uid'];
            $_SESSION['user'] = $user;
            
            // 检查是否为管理员
            $admin_stmt = $pdo->prepare("SELECT id FROM admin_accounts WHERE qq = ?");
            $admin_stmt->execute([$user['qq']]);
            if ($admin_stmt->fetch()) {
                $_SESSION['admin'] = true;
            }
            
            // 登录成功后跳转到个人中心
            header('Location: /个人中心');
            exit;
        } else {
            $error = '账号或密码错误';
        }
    }
}

// ===== 注册处理 =====
if ($_POST && isset($_POST['register'])) {
    $qq = trim($_POST['qq'] ?? '');
    $nickname = trim($_POST['nickname'] ?? '');
    $password = trim($_POST['password'] ?? '');
    $confirm = trim($_POST['confirm'] ?? '');
    
    if (!$qq || !$nickname || !$password) {
        $error = '请填写完整信息';
    } elseif ($password !== $confirm) {
        $error = '两次密码输入不一致';
    } elseif (strlen($password) < 6) {
        $error = '密码长度不能少于6位';
    } else {
        $check = $pdo->prepare("SELECT id FROM users WHERE qq = ?");
        $check->execute([$qq]);
        if ($check->fetch()) {
            $error = '该QQ号已注册';
        } else {
            $uid = rand(10000, 99999);
            $hashed = password_hash($password, PASSWORD_DEFAULT);
            $stmt = $pdo->prepare("INSERT INTO users (uid, qq, nickname, password) VALUES (?, ?, ?, ?)");
            $stmt->execute([$uid, $qq, $nickname, $hashed]);
            $success = '注册成功，请登录';
        }
    }
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>登录 - Zombie Client</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
        body {
            font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
            min-height: 100vh;
            background: #d0d5dd;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }
        .container {
            max-width: 420px;
            width: 100%;
            background: rgba(255,255,255,0.35);
            backdrop-filter: blur(30px);
            -webkit-backdrop-filter: blur(30px);
            border-radius: 24px;
            border: 1px solid rgba(255,255,255,0.5);
            box-shadow: 0 8px 32px rgba(0,0,0,0.06);
            padding: 32px 28px;
        }
        .logo { text-align: center; font-size: 28px; font-weight: 700; color: #1a1a2e; margin-bottom: 4px; }
        .logo span { font-weight: 300; color: #888; }
        .subtitle { text-align: center; color: rgba(26,26,46,0.4); font-size: 14px; margin-bottom: 24px; }
        .tabs {
            display: flex;
            gap: 0;
            border-radius: 12px;
            overflow: hidden;
            margin-bottom: 24px;
            border: 1px solid rgba(255,255,255,0.3);
        }
        .tabs button {
            flex: 1;
            padding: 10px;
            border: none;
            background: rgba(255,255,255,0.2);
            font-size: 15px;
            font-weight: 600;
            color: rgba(26,26,46,0.4);
            cursor: pointer;
            transition: 0.3s;
        }
        .tabs button.active { background: rgba(255,255,255,0.5); color: #1a1a2e; }
        .tabs button:hover { background: rgba(255,255,255,0.4); }
        .form-group { margin-bottom: 16px; }
        .form-group label {
            display: block;
            font-size: 13px;
            font-weight: 500;
            color: rgba(26,26,46,0.6);
            margin-bottom: 4px;
        }
        .form-group input {
            width: 100%;
            padding: 10px 14px;
            border-radius: 12px;
            border: 1px solid rgba(255,255,255,0.3);
            background: rgba(255,255,255,0.3);
            backdrop-filter: blur(10px);
            font-size: 14px;
            color: #1a1a2e;
            outline: none;
            transition: 0.3s;
        }
        .form-group input:focus {
            border-color: rgba(42,42,58,0.3);
            background: rgba(255,255,255,0.5);
        }
        .btn-submit {
            width: 100%;
            padding: 12px;
            border: none;
            border-radius: 12px;
            background: linear-gradient(135deg, #2a2a3a, #5a5a6a);
            color: #fff;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: 0.3s;
        }
        .btn-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
        .msg-error {
            padding: 10px 14px;
            border-radius: 10px;
            background: rgba(255,59,48,0.08);
            color: #ff3b30;
            font-size: 14px;
            margin-bottom: 16px;
        }
        .msg-success {
            padding: 10px 14px;
            border-radius: 10px;
            background: rgba(52,199,89,0.08);
            color: #34c759;
            font-size: 14px;
            margin-bottom: 16px;
        }
        .form-hidden { display: none; }
        .footer { text-align: center; margin-top: 20px; color: rgba(26,26,46,0.2); font-size: 12px; }
    </style>
</head>
<body>
<div class="container">
    <div class="logo">Zombie<span>Client</span></div>
    <div class="subtitle">登录你的账号</div>

    <?php if ($error): ?>
    <div class="msg-error"><?= htmlspecialchars($error) ?></div>
    <?php endif; ?>
    <?php if ($success): ?>
    <div class="msg-success"><?= htmlspecialchars($success) ?></div>
    <?php endif; ?>

    <div class="tabs">
        <button class="active" id="tabLogin" onclick="switchTab('login')">登录</button>
        <button id="tabRegister" onclick="switchTab('register')">注册</button>
    </div>

    <!-- 登录 -->
    <form method="POST" id="loginForm">
        <div class="form-group">
            <label>QQ号 / 邮箱 / 用户ID</label>
            <input type="text" name="account" placeholder="请输入" required>
        </div>
        <div class="form-group">
            <label>密码</label>
            <input type="password" name="password" placeholder="请输入密码" required>
        </div>
        <button type="submit" name="login" class="btn-submit">登 录</button>
    </form>

    <!-- 注册 -->
    <form method="POST" id="registerForm" class="form-hidden">
        <div class="form-group">
            <label>QQ号</label>
            <input type="text" name="qq" placeholder="请输入QQ号" required>
        </div>
        <div class="form-group">
            <label>昵称</label>
            <input type="text" name="nickname" placeholder="请输入昵称" required>
        </div>
        <div class="form-group">
            <label>密码</label>
            <input type="password" name="password" placeholder="不少于6位" required>
        </div>
        <div class="form-group">
            <label>确认密码</label>
            <input type="password" name="confirm" placeholder="再次输入密码" required>
        </div>
        <button type="submit" name="register" class="btn-submit">注 册</button>
    </form>

    <div class="footer">© 2026 Zombie Client</div>
</div>

<script>
function switchTab(tab) {
    document.getElementById('loginForm').classList.toggle('form-hidden', tab !== 'login');
    document.getElementById('registerForm').classList.toggle('form-hidden', tab !== 'register');
    document.getElementById('tabLogin').classList.toggle('active', tab === 'login');
    document.getElementById('tabRegister').classList.toggle('active', tab === 'register');
}
</script>
</body>
</html>