-
Notifications
You must be signed in to change notification settings - Fork 0
/
contact.php
156 lines (131 loc) · 5.39 KB
/
contact.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?php
$pageId = 11;
$activePage = 'contact';
// load config file
require_once("./config.php");
// setup database connection
require_once(BACKEND_PATH . "/db.php");
$conn = connectDatabase($db);
// render header and navigation
require_once(TEMPLATES_PATH . "/header.php");
require_once(TEMPLATES_PATH . "/navigation.php");
?>
<script type="text/javascript">
// add event listeners
window.onload = function() {
let inputName = document.getElementById('inputName');
inputName.addEventListener("keyup", function () {
validateStringNotEmpty(inputName);
});
let inputEmail = document.getElementById('inputEmail');
inputEmail.addEventListener("keyup", function () {
validateEmail(inputEmail);
});
let inputMessage = document.getElementById('inputMessage');
inputMessage.addEventListener("keyup", function () {
validateStringNotEmpty(inputMessage);
});
};
// processing form on submission
function validateForm() {
let inputName = document.getElementById('inputName');
let inputEmail = document.getElementById('inputEmail');
let inputMessage = document.getElementById('inputMessage');
const validName = validateStringNotEmpty(inputName);
const validEmail = validateEmail(inputEmail);
const validMessage = validateStringNotEmpty(inputMessage);
let isValid = true;
let errorMessage = "<b class='text-white'>The following errors were found: </b><br>";
if (!validName) {
isValid = false;
errorMessage += "Please enter your name.<br>";
}
if (!validEmail) {
isValid = false;
errorMessage += "Please enter a valid email address.<br>";
}
if (!validMessage) {
isValid = false;
errorMessage += "Please enter a message.<br>";
}
if (!isValid) {
alertify.error(errorMessage);
} else {
processForm();
}
}
function processForm() {
let inputName = document.getElementById('inputName');
let inputEmail = document.getElementById('inputEmail');
let inputMessage = document.getElementById('inputMessage');
$.ajax({
url:"/<?php echo BACKEND_URL ?>/contact.php",
type:"POST",
data:{
name: inputName.value,
email: inputEmail.value,
message: inputMessage.value
},
success: function(response){
if (response == "sent") {
alertify.success("Thank you for contacting us! We will get back to you soon.");
document.getElementById('contactform').reset();
} else {
alertify.error("Error submitting the form. Please check the form and try again.");
}
}
});
}
</script>
<!-- Image-based header -->
<header class="full-width-block parallax d-flex align-items-center" style="background-image: url('resources/images/design/about-header.jpg'); background-position: top;"
data-paroller-factor="0.3">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1 class="text-white text-uppercase">Contact Us</h1>
<p class="text-white text-uppercase">Send us your comments and suggestions</p>
</div>
</div>
</div>
</header>
<section class="text-block" id="contact">
<div class="container">
<div class="row">
<div class="col">
<form id="contactform" novalidate>
<div class="form-group">
<label for="inputName">Your Name *</label>
<input type="text" class="form-control" name="contact[name]" id="inputName" placeholder="Enter your name" required>
</div>
<div class="form-group">
<label for="inputEmail">Email address *</label>
<input type="email" class="form-control" name="contact[email]" id="inputEmail" placeholder="Enter your email" required>
</div>
<div class="form-group">
<label for="inputMessage">Message *</label>
<textarea class="form-control" name="contact[message]" id="inputMessage" rows="5" placeholder="Enter your message" required></textarea>
</div>
<button type="button" class="btn btn-outline-primary" onclick="validateForm();">Send</button>
</form>
</div>
<div class="col">
<h6>Get in touch</h6>
<p>GreenEarth Foundation<br>
Ottho Heldringstraat 5<br>
1066 AZ Amsterdam<br>
The Netherlands<br><br>
Phone: +31 (0) 20 718 20 00<br>
Fax: +31 (0) 20 718 20 02<br></p>
</div>
</div>
</div>
</section>
<?php
// render donation block
require_once(TEMPLATES_PATH . "/donate.php");
// render footer
require_once(TEMPLATES_PATH . "/footer.php");
// close database connection
closeConection($conn);
?>