Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.93 KB | None | 0 0
  1. <?php
  2.  
  3. $user_id = filter_input(INPUT_GET, 'UserID');
  4. $date = filter_input(INPUT_GET, 'Date');
  5. $start_time = filter_input(INPUT_GET, 'StartTime');
  6. $end_time = filter_input(INPUT_GET, 'EndTime');
  7. $room_number = filter_input(INPUT_GET, 'Room');
  8. $number_of_people = filter_input(INPUT_GET, 'NumberPeople');
  9. $notes = filter_input(INPUT_GET, 'notes');
  10.  
  11. $start_date_time = $date . ' ' . $start_time;
  12. $end_date_time = $date . ' ' . $end_time;
  13.  
  14. // do some checks to make sure data is correct
  15. if ($notes.length > 4094)
  16. {
  17. die("Error. Notes are too long.");
  18. }
  19.  
  20. $db_connection = connect_to_db();
  21. check_availability($room_number, $start_date_time, $end_date_time, $db_connection);
  22. insert_reservation_to_db($user_id, $date, $start_time, $end_time, $room_number, $number_of_people, $notes, $db_connection);
  23.  
  24. function connect_to_db()
  25. {
  26. $servername = "localhost";
  27. $username = "joshros1_room";
  28. $password = "12345";
  29. $database = "joshros1_room_scheduler";
  30.  
  31. // Create connection
  32. $conn = new mysqli($servername, $username, $password, $database);
  33.  
  34. // Check connection
  35. if ($conn->connect_error)
  36. {
  37. die("Connection failed: " . $conn->connect_error);
  38. }
  39.  
  40. return $conn;
  41. }
  42.  
  43. function check_availability($room_number, $start_date_time, $end_date_time, $db_connection)
  44. {
  45. $sql = "SELECT * FROM `Reservation` WHERE room_id = '$room_number'
  46. AND start_date BETWEEN '$start_date_time' AND '$end_date_time'
  47. AND end_date BETWEEN '$start_date_time' AND '$end_date_time'";
  48. $result = $db_connection->query($sql);
  49. if ($result->num_rows > 0)
  50. {
  51. die("Error. The room you selected is already reserved for this time.");
  52. }
  53. }
  54.  
  55. function insert_reservation_to_db($user_id, $date, $start_time, $end_time, $room_number, $number_of_people, $notes, $db_connection)
  56. { $room_name = get_room_name($room_number, $db_connection);
  57. $start_date_time = $date . ' ' . $start_time;
  58. $end_date_time = $date . ' ' . $end_time;
  59.  
  60. $sql = "INSERT INTO Reservation (user_id, room_id, start_date, end_date, number_of_people, notes)
  61. VALUES ($user_id, $room_number, '$start_date_time', '$end_date_time', $number_of_people, '$notes')";
  62.  
  63. if ($db_connection->query($sql) === TRUE)
  64. {
  65. $confirmation_no = get_reservation_id($user_id, $date, $start_time, $end_time, $room_number, $db_connection);
  66. $email_message = "Confirmation Number: " . $confirmation_no . "\n" .
  67. "Date: " . $date. "\n" . "Start Time: " . $start_time. "\n" .
  68. "End Time: " . $end_time. "\n" . "Room: " . $room_name . "\n" .
  69. "Number of people: " . $number_of_people . "\n" . "Notes: " . $notes . "\n";
  70. $email = get_email_address($user_id, $db_connection);
  71. mail($email, "Confirmation", $email_message);
  72.  
  73. echo "<p> Reservation Successful! </p>";
  74. print_r("Confirmation Number: " . $confirmation_no . '</p>');
  75. print_r("Date: " . $date. '</p>');
  76. print_r("Start Time: " . $start_time. '</p>');
  77. print_r("End Time: " . $end_time. '</p>');
  78. print_r("Room: " . $room_name . '</p>');
  79. print_r("Number of people: " . $number_of_people . '</p>');
  80. print_r("Notes: " . $notes . '</p>');
  81. print_r("A copy of this confirmation has been sent to your email address.");
  82. } else
  83. {
  84. echo "Error: " . $sql . "<br>" . $db_connection->error;
  85. }
  86. }
  87.  
  88. function get_email_address($user_id, $db_connection)
  89. {
  90. $sql = "SELECT * FROM `User` WHERE id = '$user_id'";
  91. $result = $db_connection->query($sql);
  92. $email_address = null;
  93. if ($result->num_rows > 0)
  94. {
  95. // output data of each row
  96. while($row = $result->fetch_assoc())
  97. {
  98. $email_address = $row["email"];
  99. }
  100. }
  101. else
  102. {
  103. echo "Error. Email address not found.";
  104. }
  105. return $email_address;
  106. }
  107.  
  108. function get_reservation_id($user_id, $date, $start_time, $end_time, $room_number, $db_connection)
  109. {
  110. $start_date_time = "$date . ' ' . $start_time";
  111. $end_date_time = "$date . ' ' . $end_time";
  112. $sql = "SELECT * FROM `Reservation` WHERE user_id = '$user_id'
  113. AND room_id = '$room_number'
  114. AND start_date = '$start_date_time'
  115. AND end_date = '$end_date_time'";
  116. $result = $db_connection->query($sql);
  117. $confirmation_no = null;
  118. if ($result->num_rows > 0)
  119. {
  120. // output data of each row
  121. while($row = $result->fetch_assoc())
  122. {
  123. $confirmation_no = $row["id"];
  124. }
  125. }
  126. else
  127. {
  128. echo "Error. Confirmation number not found.";
  129. }
  130. return $confirmation_no;
  131. }
  132.  
  133. function get_room_name($room_number, $db_connection)
  134. {
  135. $sql = "SELECT * FROM `Room` WHERE id = $room_number";
  136. $result = $db_connection->query($sql);
  137. $room_name = null;
  138.  
  139. if ($result->num_rows > 0)
  140. {
  141. // output data of each row
  142. while($row = $result->fetch_assoc())
  143. {
  144. $room_name = $row["room_name"];
  145. }
  146. } else {
  147. echo "0 results";
  148. }
  149. return $room_name;
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement