Skip to content
Snippets Groups Projects
submit_booking.php 1.98 KiB
Newer Older
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
<?php
session_start();
include('db.php');

// 检查用户是否已登录
if (!isset($_SESSION['username'])) {
    header('Location: index.php');
    exit;
}

$username = $_SESSION['username'];

// 获取用户ID
$user_query = "SELECT id FROM users WHERE username='$username'";
$user_result = mysqli_query($conn, $user_query);
$user = mysqli_fetch_assoc($user_result);
$user_id = $user['id'];

if (isset($_POST['equipment_id']) && isset($_POST['start_time']) && isset($_POST['end_time']) && isset($_POST['title']) && isset($_POST['previous_process']) && isset($_POST['purpose'])) {
    $equipment_id = $_POST['equipment_id'];
    $start_time = $_POST['start_time'];
    $end_time = $_POST['end_time'];
    $title = $_POST['title'];
    $previous_process = $_POST['previous_process'];
    $purpose = $_POST['purpose'];

    // 检查该时间段是否已被预约
    $query = "SELECT * FROM bookings WHERE equipment_id = $equipment_id AND status = 'active' AND 
              ((start_time >= '$start_time' AND start_time < '$end_time') 
              OR (end_time > '$start_time' AND end_time <= '$end_time'))";
    $result = mysqli_query($conn, $query);

    if (mysqli_num_rows($result) > 0) {
        $_SESSION['error_message'] = "该时间段已被预约,请选择其他时间。";
        header('Location: booking.php');
        exit;
    } else {
        // 插入预约记录
        $insert_query = "INSERT INTO bookings (user_id, equipment_id, start_time, end_time, title, previous_process, purpose, status, approved) VALUES ('$user_id', '$equipment_id', '$start_time', '$end_time', '$title', '$previous_process', '$purpose', 'active', 0)";
        if (mysqli_query($conn, $insert_query)) {
            $_SESSION['success_message'] = "预约成功!等待管理员审批。";
            header('Location: booking.php');
            exit;
        } else {
            $_SESSION['error_message'] = "预约失败,请重试。";
            header('Location: booking.php');
            exit;
        }
    }
}
?>