2d47f81da68e34b41cac7afc58a7471444dcab89
[Project_webapp.git] / includes / formbooking.php
1 <?php
2 $form_flight_id = filter_input(INPUT_POST, "flight_id", FILTER_SANITIZE_STRING);
3 $form_class_name = filter_input(INPUT_POST, "class_name", FILTER_SANITIZE_STRING);
4 $form_place_price = filter_input(INPUT_POST, "place_price", FILTER_VALIDATE_FLOAT);
5 $form_nb_place = filter_input(INPUT_POST, "nb_place", FILTER_VALIDATE_INT);
6 $form_return_flight = filter_input(INPUT_POST, "return_flight", FILTER_VALIDATE_BOOLEAN);
7
8 global $is_logged_in;
9 if (!$is_logged_in) {
10 echo "Please login first. <br>";
11 redirect("index.php?page=login", 2);
12 }
13
14 $input_failure = false;
15
16 if (!$form_place_price) {
17 echo "Prix invalide. <br>";
18 $input_failure = true;
19 }
20
21 if (!$form_nb_place) {
22 echo "Nombre de place(s) invalide. <br>";
23 $input_failure = true;
24 }
25
26 if (!$form_return_flight) {
27 echo "Vol retour invalide. <br>";
28 $input_failure = true;
29 }
30
31 if (!$input_failure && $is_logged_in && !empty($form_nb_place) && !empty($form_class_name)) {
32 global $connection;
33 $client_id = get_client_id($_SESSION['email']);
34 $nb_booked = nb_booked($client_id, $form_flight_id);
35 if (!empty($nb_booked)) {
36 echo "Vous avez de&#769;ja&#768; re&#769;serve&#769; ce vol, vous allez e&#770;tre redirige&#769; vers la liste de vos re&#769;servations dans 2 secondes. <br>";
37 redirect("index.php?page=reservations", 2);
38 include('footer.html');
39 exit();
40 }
41 $sql_pquery = "insert into RESERVATIONS (NumCl, NumVol, Classe, NbPlaces)
42 values (?, ?, ?, ?)";
43 $connection->prepare_query($sql_pquery);
44 $connection->prepared_query_bind_param("issi", array($client_id, $form_flight_id, $form_class_name, $form_nb_place));
45 $connection->run_prepared_query();
46 $connection->close_prepared_query();
47 $sql_pquery = "select VilleD, DateD, VilleA, DateA from VOLS, DEFCLASSES
48 where DEFCLASSES.NumVol = VOLS.NumVol and
49 VOLS.NumVol = ? and Classe = ?";
50 $connection->prepare_query($sql_pquery);
51 $connection->prepared_query_bind_param("ss", array($form_flight_id, $form_class_name));
52 $connection->run_prepared_query();
53 $connection->get_pquery_result();
54 $rows = $connection->get_result_array();
55 $connection->close_prepared_query();
56 foreach ($rows as $row) {
57 echo "(Simulation de paiement d'une re&#769;servation) <br>";
58 echo "Vous avez re&#769;serve&#769; et paye&#769; " . $form_nb_place . " place(s) sur le vol " .$form_flight_id .
59 " au de&#769;part de " . $row['VilleD']. " a&#768; " . $row['DateD'] . " arrivant a&#768; " . $row['VilleA'] . " a&#768; " . $row['DateA'] .
60 " pour un montant total de " . $form_place_price * $form_nb_place . "&euro;. <br>";
61 }
62 if ($form_return_flight) {
63 redirect("index.php?page=search", 3);
64 $_SESSION['current_flight_id'] = $form_flight_id;
65 $_SESSION['return_flight'] = $form_return_flight;
66 } else {
67 redirect("index.php?page=reservations", 3);
68 }
69 } else {
70 echo "Make an error message. <br>";
71 }
72
73 ?>