Skip to content
Snippets Groups Projects
submit_booking.php 3.14 KiB
Newer Older
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
<?php
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
session_start();
include('db.php');

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

$username = $_SESSION['username'];
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
echo "user: $username";
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed

// 获取用户ID
$user_query = "SELECT id FROM users WHERE username='$username'";
$user_result = mysqli_query($conn, $user_query);
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
if (!$user_result) {
    die("查询用户ID失败: " . mysqli_error($conn));
}
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
$user = mysqli_fetch_assoc($user_result);
$user_id = $user['id'];

xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
echo "user_id: $user_id";

// 输出调试信息
//print_r($_POST['equipment_id'];)
echo $_POST['start_time'];
//echo "结束时间: " $_POST['end_time'];
//echo $_POST['title']);
echo "问题回答: ";
//print_r($_POST['answers']);

if (isset($_POST['equipment_id']) && isset($_POST['start_time']) && isset($_POST['end_time']) && isset($_POST['title']) && isset($_POST['answers'])) {
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
    $equipment_id = $_POST['equipment_id'];
    $start_time = $_POST['start_time'];
    $end_time = $_POST['end_time'];
    $title = $_POST['title'];
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
    $answers = $_POST['answers']; // 获取设备特定问题的回答

    // 输出调试信息
    echo "<pre>";
    echo "设备ID: $equipment_id\n";
    echo "开始时间: $start_time\n";
    echo "结束时间: $end_time\n";
    echo "标题: $title\n";
    echo "问题回答: ";
    print_r($answers);
    echo "</pre>";

xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed

    // 检查该时间段是否已被预约
    $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);
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
    if (!$result) {
        die("检查预约时间段失败: " . mysqli_error($conn));
    }
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed

    if (mysqli_num_rows($result) > 0) {
        $_SESSION['error_message'] = "该时间段已被预约,请选择其他时间。";
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
        header('Location: equipment_list.php');
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
        exit;
    } else {
        // 插入预约记录
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
        $insert_query = "INSERT INTO bookings (user_id, equipment_id, start_time, end_time, title, status, approved) VALUES ('$user_id', '$equipment_id', '$start_time', '$end_time', '$title', 'active', 0)";
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
        if (mysqli_query($conn, $insert_query)) {
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
            $booking_id = mysqli_insert_id($conn); // 获取插入的预约记录ID

            // 插入每个问题的回答
            foreach ($answers as $question_id => $answer) {
                $answer_query = "INSERT INTO booking_answers (booking_id, question_id, answer) VALUES ('$booking_id', '$question_id', '$answer')";
                if (!mysqli_query($conn, $answer_query)) {
                    die("插入问题回答失败: " . mysqli_error($conn));
                }
            }

xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
            $_SESSION['success_message'] = "预约成功!等待管理员审批。";
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
            header('Location: equipment_list.php');
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
            exit;
        } else {
            $_SESSION['error_message'] = "预约失败,请重试。";
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
            header('Location: equipment_list.php');
xiuql@ihep.ac.cn's avatar
xiuql@ihep.ac.cn committed
            exit;
        }
    }
}