<?php //ini_set('display_errors', 1); //ini_set('display_startup_errors', 1); //error_reporting(E_ALL); 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); if (!$user_result) { die("查询用户ID失败: " . mysqli_error($conn)); } $user = mysqli_fetch_assoc($user_result); $user_id = $user['id']; //echo "user_id: $user_id"; // 输出调试信息 //echo $_POST['equipment_id']; //echo $_POST['start_time']; //echo $_POST['end_time']; //echo $_POST['title']; //echo "问题回答: "; //echo $_POST['answers']; if (isset($_POST['equipment_id']) && isset($_POST['start_time']) && isset($_POST['end_time']) && isset($_POST['title'])) { $equipment_id = $_POST['equipment_id']; $start_time = $_POST['start_time']; $end_time = $_POST['end_time']; $title = $_POST['title']; $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>"; // 检查该时间段是否已被预约 $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 (!$result) { die("检查预约时间段失败: " . mysqli_error($conn)); } if (mysqli_num_rows($result) > 0) { //$_SESSION['error_message'] = "该时间段已被预约,请选择其他时间。"; //header('Location: equipment_list.php'); echo "该时间段已被预约,请选择其他时间。<br>"; echo "<a href='equipment_list.php'>重新预约<br></a>"; echo "<a href='index.php'>返回首页<br></a>"; exit; } else { // 插入预约记录 $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)"; if (mysqli_query($conn, $insert_query)) { $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)); } } //$_SESSION['success_message'] = "预约成功!等待管理员审批。"; //header('Location: my_bookings.php'); echo "预约成功, 等待管理员审批。继续预约?<br>"; echo "<a href='equipment_list.php'>继续预约<br></a>"; echo "<a href='my_bookings.php'>我的预约<br></a>"; echo "<a href='index.php'>返回首页<br></a>"; exit; } else { echo "预约失败,请重新预约。<br>"; echo "<a href='equipment_list.php'>重新预约<br></a>"; echo "<a href='index.php'>返回首页<br></a>"; exit; } } }