-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbook.php
More file actions
60 lines (50 loc) · 1.65 KB
/
Copy pathbook.php
File metadata and controls
60 lines (50 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
session_start();
if(!isset($_SESSION['passenger_id'])){
header("Location: login.html");
exit();
}
$conn = mysqli_connect("localhost","root","","btrs");
if(!$conn){
die("Connection failed");
}
$passenger = $_SESSION['passenger_id'];
$schedule = $_GET['Schedule_id'];
$seat = $_GET['Seat_number'];
//i added for security // ❌ Anything fake is rejected
$busSeatsSql = "SELECT bus.total_seats FROM schedule
JOIN bus ON schedule.bus_id = bus.bus_id
WHERE schedule.schedule_id = $schedule";
$seatResult = mysqli_query($conn, $busSeatsSql);
$seatRow = mysqli_fetch_assoc($seatResult);
$total_seats = $seatRow['total_seats'];
if($seat < 1 || $seat > $total_seats){
exit("Invalid seat number!");
}
$checkPassenger = "SELECT passenger_id FROM Passenger WHERE passenger_id = $passenger";
$pResult = mysqli_query($conn, $checkPassenger);
if(mysqli_num_rows($pResult) == 0){
echo "Passenger not found!";
exit();
}
$checkSchedule = "SELECT schedule_id FROM Schedule WHERE schedule_id = $schedule";
$sResult = mysqli_query($conn, $checkSchedule);
if(mysqli_num_rows($sResult) == 0){
echo "Schedule not found!";
exit();
}
$check = "SELECT * FROM Ticket
WHERE Schedule_id=$schedule
AND Seat_number=$seat
AND status='book'";
$result = mysqli_query($conn, $check);
if(mysqli_num_rows($result) > 0){
echo "Seat already booked! Choose another seat.";
exit();
}
$sql = "INSERT INTO Ticket
(passenger_id, Schedule_id, Seat_number, booking_date, status)
VALUES ($passenger, $schedule, $seat, CURDATE(), 'book')";
mysqli_query($conn, $sql);
echo "Ticket booked successfully! <a href='booking.php'> Book another </a> ";
?>