Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $user_id = filter_input(INPUT_GET, 'UserID');
- $date = filter_input(INPUT_GET, 'Date');
- $start_time = filter_input(INPUT_GET, 'StartTime');
- $end_time = filter_input(INPUT_GET, 'EndTime');
- $room_number = filter_input(INPUT_GET, 'Room');
- $number_of_people = filter_input(INPUT_GET, 'NumberPeople');
- $notes = filter_input(INPUT_GET, 'notes');
- $start_date_time = $date . ' ' . $start_time;
- $end_date_time = $date . ' ' . $end_time;
- // do some checks to make sure data is correct
- if ($notes.length > 4094)
- {
- die("Error. Notes are too long.");
- }
- $db_connection = connect_to_db();
- check_availability($room_number, $start_date_time, $end_date_time, $db_connection);
- insert_reservation_to_db($user_id, $date, $start_time, $end_time, $room_number, $number_of_people, $notes, $db_connection);
- function connect_to_db()
- {
- $servername = "localhost";
- $username = "joshros1_room";
- $password = "12345";
- $database = "joshros1_room_scheduler";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $database);
- // Check connection
- if ($conn->connect_error)
- {
- die("Connection failed: " . $conn->connect_error);
- }
- return $conn;
- }
- function check_availability($room_number, $start_date_time, $end_date_time, $db_connection)
- {
- $sql = "SELECT * FROM `Reservation` WHERE room_id = '$room_number'
- AND start_date BETWEEN '$start_date_time' AND '$end_date_time'
- AND end_date BETWEEN '$start_date_time' AND '$end_date_time'";
- $result = $db_connection->query($sql);
- if ($result->num_rows > 0)
- {
- die("Error. The room you selected is already reserved for this time.");
- }
- }
- function insert_reservation_to_db($user_id, $date, $start_time, $end_time, $room_number, $number_of_people, $notes, $db_connection)
- { $room_name = get_room_name($room_number, $db_connection);
- $start_date_time = $date . ' ' . $start_time;
- $end_date_time = $date . ' ' . $end_time;
- $sql = "INSERT INTO Reservation (user_id, room_id, start_date, end_date, number_of_people, notes)
- VALUES ($user_id, $room_number, '$start_date_time', '$end_date_time', $number_of_people, '$notes')";
- if ($db_connection->query($sql) === TRUE)
- {
- $confirmation_no = get_reservation_id($user_id, $date, $start_time, $end_time, $room_number, $db_connection);
- $email_message = "Confirmation Number: " . $confirmation_no . "\n" .
- "Date: " . $date. "\n" . "Start Time: " . $start_time. "\n" .
- "End Time: " . $end_time. "\n" . "Room: " . $room_name . "\n" .
- "Number of people: " . $number_of_people . "\n" . "Notes: " . $notes . "\n";
- $email = get_email_address($user_id, $db_connection);
- mail($email, "Confirmation", $email_message);
- echo "<p> Reservation Successful! </p>";
- print_r("Confirmation Number: " . $confirmation_no . '</p>');
- print_r("Date: " . $date. '</p>');
- print_r("Start Time: " . $start_time. '</p>');
- print_r("End Time: " . $end_time. '</p>');
- print_r("Room: " . $room_name . '</p>');
- print_r("Number of people: " . $number_of_people . '</p>');
- print_r("Notes: " . $notes . '</p>');
- print_r("A copy of this confirmation has been sent to your email address.");
- } else
- {
- echo "Error: " . $sql . "<br>" . $db_connection->error;
- }
- }
- function get_email_address($user_id, $db_connection)
- {
- $sql = "SELECT * FROM `User` WHERE id = '$user_id'";
- $result = $db_connection->query($sql);
- $email_address = null;
- if ($result->num_rows > 0)
- {
- // output data of each row
- while($row = $result->fetch_assoc())
- {
- $email_address = $row["email"];
- }
- }
- else
- {
- echo "Error. Email address not found.";
- }
- return $email_address;
- }
- function get_reservation_id($user_id, $date, $start_time, $end_time, $room_number, $db_connection)
- {
- $start_date_time = "$date . ' ' . $start_time";
- $end_date_time = "$date . ' ' . $end_time";
- $sql = "SELECT * FROM `Reservation` WHERE user_id = '$user_id'
- AND room_id = '$room_number'
- AND start_date = '$start_date_time'
- AND end_date = '$end_date_time'";
- $result = $db_connection->query($sql);
- $confirmation_no = null;
- if ($result->num_rows > 0)
- {
- // output data of each row
- while($row = $result->fetch_assoc())
- {
- $confirmation_no = $row["id"];
- }
- }
- else
- {
- echo "Error. Confirmation number not found.";
- }
- return $confirmation_no;
- }
- function get_room_name($room_number, $db_connection)
- {
- $sql = "SELECT * FROM `Room` WHERE id = $room_number";
- $result = $db_connection->query($sql);
- $room_name = null;
- if ($result->num_rows > 0)
- {
- // output data of each row
- while($row = $result->fetch_assoc())
- {
- $room_name = $row["room_name"];
- }
- } else {
- echo "0 results";
- }
- return $room_name;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement