-
Notifications
You must be signed in to change notification settings - Fork 0
/
processbooking.php
80 lines (70 loc) · 2.93 KB
/
processbooking.php
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lab8 php</title>
</head>
<body>
<h1>Rohirrim Tour Booking Confirmation</h1>
<?php
function sanitise_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
// check if process was triggered by a form submit, if not display an error message
if ( isset($_POST["firstname"]) ) {
$firstname = sanitise_input($_POST["firstname"]);
if (isset($_POST["lastname"])) $lastname = sanitise_input($_POST["lastname"]);
if (isset($_POST["age"])) $age = sanitise_input($_POST["age"]);
if (isset($_POST["food"])) $food = sanitise_input($_POST["food"]);
if (isset($_POST["partySize"])) $partySize = sanitise_input($_POST["partySize"]);
// tour
$tour = "";
if (isset($_POST["1day"])) $tour = $tour. "1 day ";
if (isset($_POST["4day"])) $tour = $tour. "and 4 days ";
if (isset($_POST["10day"])) $tour = $tour. "and 10 days ";
// species
if (isset($_POST["species"])) {
$species = sanitise_input($_POST["species"]);
} else {
$species = "Unknown Species";
}
// validation
$errMsg = "";
if ($firstname == "") {
$errMsg .= "<p>You must enter your first name.</p>";
} elseif (!preg_match("/^[a-zA-Z]*$/", $firstname)) {
$errMsg .= "<p>Only alpha letters allowed in your first name.</p>";
}
if ($lastname == "") {
$errMsg .= "<p>You must enter your last name.</p>";
} elseif (!preg_match("/^[a-zA-Z\-]*$/", $lastname)) {
$errMsg .= "<p>Only alpha letters and hyphens allowed in your last name.</p>";
}
if (!is_numeric($age)) {
$errMsg .= "<p>Age must be a number</p>";
} elseif ($age < 10 || $age > 10000) {
$errMsg .= "<p>Age must be between 10 and 10000</p>";
}
// print data
if ($errMsg != "") {
echo "$errMsg";
} else {
echo "<p>Welcome $firstname $lastname!</p>";
echo "<p>You are now booked on the $tour</p>";
echo "<p>Species: $species</p>";
echo "<p>Age: $age</p>";
echo "<p>Meal Preference: $food</p>";
echo "<p>Number of travellers $partySize</p>";
}
} else {
// Redirect to form if process not triggered by a form submit
header("location: register.html");
}
?>
</body>
</html>