Загрузка данных


<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);

$conn = new mysqli('localhost', 'root', '');
if ($conn->connect_error) die("Ошибка подключения к MySQL: " . $conn->connect_error);
$conn->query("CREATE DATABASE IF NOT EXISTS korochny_db");
$conn->select_db('korochny_db');

$conn->query("CREATE TABLE IF NOT EXISTS users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    login VARCHAR(50) UNIQUE,
    password VARCHAR(255)
)");
$conn->query("CREATE TABLE IF NOT EXISTS courses (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100)
)");
$conn->query("CREATE TABLE IF NOT EXISTS applications (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    course_id INT,
    start_date DATE,
    payment VARCHAR(20),
    status VARCHAR(50) DEFAULT 'Новая'
)");

$res = $conn->query("SELECT COUNT(*) FROM courses");
if ($res->fetch_row()[0] == 0) {
    $conn->query("INSERT INTO courses (name) VALUES 
        ('Основы алгоритмизации и программирования'),
        ('Основы веб-дизайна'),
        ('Основы проектирования баз данных')");
}

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

// РЕГИСТРАЦИЯ
if (isset($_POST['reg_login'])) {
    $login = trim($_POST['reg_login']);
    $pass = password_hash($_POST['reg_pass'], PASSWORD_DEFAULT);
    $check = $conn->query("SELECT id FROM users WHERE login='$login'");
    if ($check->num_rows) {
        $error = "❌ Логин '$login' уже занят.";
    } else {
        if ($conn->query("INSERT INTO users (login, password) VALUES ('$login', '$pass')")) {
            $success = "✅ Регистрация успешна! Теперь войдите с тем же логином и паролем.";
        } else {
            $error = "❌ Ошибка БД: " . $conn->error;
        }
    }
}

// ВХОД
if (isset($_POST['login'])) {
    $login = trim($_POST['login']);
    $pass = $_POST['pass'];
    $res = $conn->query("SELECT * FROM users WHERE login='$login'");
    if ($res && $row = $res->fetch_assoc()) {
        if (password_verify($pass, $row['password'])) {
            $_SESSION['user'] = $row;
            header('Location: index.php');
            exit;
        } else {
            $error = "❌ Неверный пароль для логина '$login'.";
        }
    } else {
        $error = "❌ Пользователь '$login' не найден.";
    }
}

// Действия после входа
$action = $_GET['action'] ?? '';
if (isset($_SESSION['user'])) {
    if ($action == 'logout') { session_destroy(); header('Location: index.php'); exit; }
    if ($action == 'new_app' && isset($_POST['course'])) {
        $uid = $_SESSION['user']['id'];
        $course = $_POST['course']; $date = $_POST['date']; $pay = $_POST['pay'];
        $conn->query("INSERT INTO applications (user_id, course_id, start_date, payment) VALUES ($uid, $course, '$date', '$pay')");
        header('Location: index.php?action=dashboard'); exit;
    }
    if ($action == 'change_status' && isset($_POST['status']) && $_SESSION['user']['login'] == 'Admin') {
        $id = $_POST['app_id']; $status = $_POST['status'];
        $conn->query("UPDATE applications SET status='$status' WHERE id=$id");
        header('Location: index.php?action=admin'); exit;
    }
}
?>
<!DOCTYPE html>
<html>
<head><title>Корочки.есть</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
body{font-family:Arial;padding:10px}.container{max-width:600px;margin:auto}
input,select,button{width:100%;padding:8px;margin:5px 0}
@media(max-width:390px){body{font-size:14px}}
.slider{text-align:center;margin:20px 0}
.error{color:red;margin:10px 0}
.success{color:green;margin:10px 0}
</style>
</head>
<body>
<div class="container">
<div class="slider"><img id="slide-img" src="static/1.jpg" width="300"><br>
<button id="prev">❮</button><button id="next">❯</button></div>

<?php if ($error) echo "<div class='error'>$error</div>"; ?>
<?php if ($success) echo "<div class='success'>$success</div>"; ?>

<?php if (!isset($_SESSION['user'])): ?>
    <h2>Вход</h2>
    <form method="post">
        <input name="login" placeholder="Логин" required>
        <input type="password" name="pass" placeholder="Пароль" required>
        <button>Войти</button>
    </form>
    <hr>
    <h2>Регистрация</h2>
    <form method="post">
        <input name="reg_login" placeholder="Логин" required>
        <input type="password" name="reg_pass" placeholder="Пароль" required>
        <button>Зарегистрироваться</button>
    </form>
<?php elseif ($action == 'dashboard'): ?>
    <h2>Мои заявки</h2>
    <?php
    $uid = $_SESSION['user']['id'];
    $res = $conn->query("SELECT a.*, c.name FROM applications a JOIN courses c ON a.course_id=c.id WHERE user_id=$uid");
    while($row = $res->fetch_assoc()) echo "<li>{$row['name']} — {$row['start_date']} — {$row['status']}</li>";
    ?>
    <p><a href="?action=new_app">Новая заявка</a> | <a href="?action=logout">Выйти</a></p>
<?php elseif ($action == 'new_app'): ?>
    <h2>Новая заявка</h2>
    <form method="post">
        <select name="course"><?php
            $res = $conn->query("SELECT * FROM courses");
            while($c = $res->fetch_assoc()) echo "<option value='{$c['id']}'>{$c['name']}</option>";
        ?></select>
        <input type="date" name="date" required>
        <label><input type="radio" name="pay" value="наличные"> Наличные</label>
        <label><input type="radio" name="pay" value="перевод"> Перевод</label>
        <button type="submit">Отправить</button>
    </form>
    <p><a href="?action=dashboard">Назад</a></p>
<?php elseif ($action == 'admin' && $_SESSION['user']['login'] == 'Admin'): ?>
    <h2>Админка</h2>
    <form method="post">
    <table border="1">
        <?php
        $res = $conn->query("SELECT a.*, u.login, c.name FROM applications a JOIN users u ON a.user_id=u.id JOIN courses c ON a.course_id=c.id");
        while($row = $res->fetch_assoc()): ?>
        <tr>
            <td><?= $row['login'] ?><br><?= $row['name'] ?><br><?= $row['start_date'] ?></td>
            <td>
                <select name="status">
                    <option <?= $row['status']=='Новая'?'selected':'' ?>>Новая</option>
                    <option <?= $row['status']=='Идет обучение'?'selected':'' ?>>Идет обучение</option>
                    <option <?= $row['status']=='Обучение завершено'?'selected':'' ?>>Обучение завершено</option>
                </select>
                <input type="hidden" name="app_id" value="<?= $row['id'] ?>">
                <button type="submit" formaction="?action=change_status">Изменить</button>
            </td>
        </tr>
        <?php endwhile; ?>
    </table>
    </form>
    <p><a href="index.php">На главную</a></p>
<?php else: ?>
    <p>Привет, <?= $_SESSION['user']['login'] ?>! <a href="?action=logout">Выйти</a></p>
    <p><a href="?action=dashboard">Мои заявки</a> | <a href="?action=new_app">Новая заявка</a>
    <?php if($_SESSION['user']['login'] == 'Admin'): ?> | <a href="?action=admin">Админка</a><?php endif; ?></p>
<?php endif; ?>
</div>
<script>
const images=['1.jpg','2.jpg','3.jpg','4.jpg']; let idx=0;
const img=document.getElementById('slide-img');
setInterval(()=>{idx=(idx+1)%images.length; img.src='static/'+images[idx];},3000);
document.getElementById('prev').onclick=()=>{idx=(idx-1+images.length)%images.length; img.src='static/'+images[idx];};
document.getElementById('next').onclick=()=>{idx=(idx+1)%images.length; img.src='static/'+images[idx];};
</script>
</body>
</html>