-
Notifications
You must be signed in to change notification settings - Fork 1
/
register.php
108 lines (91 loc) · 3.54 KB
/
register.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
<?php
session_start();
// I call the database & navbar files
require_once('database.php');
require_once('navbar.php');
$conn = mysqli_connect(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATA, DB_PORT);
if ($conn) {
// I declare my variables
$bool_firstName = false;
$bool_lastName = false;
$bool_email = false;
$bool_password = false;
$bool_passwordConfirm = false;
$errMess = '';
if (isset($_POST['submit'])) {
// Retrieve and sanitize all the datas
$firstName = htmlspecialchars(trim($_POST['firstName']));
$lastName = htmlspecialchars(trim($_POST['lastName']));
$email = htmlspecialchars(trim($_POST['email']));
$password = htmlspecialchars(trim($_POST['password']));
$passwordConfirm = htmlspecialchars(trim($_POST['passwordConfirm']));
$validEmail = filter_var($email, FILTER_VALIDATE_EMAIL);
// Validation part
if (strlen($firstName) >= 3 && strlen($firstName) <= 15) {
$bool_firstName = true;
} else {
$errMess = $errMess . '<li>' . 'Your first name should between 3 and 15 characters !' . '</li>';
}
if (strlen($lastName) >= 3 && strlen($lastName) <= 25) {
$bool_lastName = true;
} else {
$errMess = $errMess . '<li>' . 'Your last name should between 3 and 25 characters !' . '</li>';
}
if ($validEmail) {
$bool_email = true;
} else {
$errMess = $errMess . '<li>' . 'Your e-mail is invalid !' . '</li>';
}
if ($password >= 8) {
$bool_password = true;
} else {
$errMess = $errMess . '<li>' . 'Your password must be at least 8 characters !' . '</li>';
}
if ($password === $passwordConfirm) {
$bool_passwordConfirm = true;
} else {
$errMess = $errMess . '<li>' . 'Password confirmation error !' . '</li>';
}
if ($bool_firstName && $bool_lastName && $bool_email && $bool_password && $bool_passwordConfirm) {
$hashPassword = password_hash($password, PASSWORD_DEFAULT);
$sql = "INSERT INTO users (first_name, last_name, username, password) VALUES ('" . $firstName . "','" . $lastName . "','" . $validEmail . "','" . $hashPassword . "')";
$result = mysqli_query($conn, $sql);
echo 'You are registered!';
}
}
} else {
echo 'connection failed <br>';
}
mysqli_close($conn);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles/style.css">
<title>Register</title>
</head>
<body>
<section id="login-form">
<h1>Register</h1>
<form action="" method="POST">
<input type="text" name="firstName" placeholder="Your first name...">
<input type="text" name="lastName" placeholder="Your last name...">
<input type="email" name="email" placeholder="Your e-mail address...">
<input type="password" name="password" placeholder="Your password...">
<input type="password" name="passwordConfirm" placeholder="Your password...">
<input type="submit" name="submit" value="Submit" id="submit-button">
</form>
</section>
<section>
<ul>
<?php echo $errMess ?>
</ul>
</section>
<footer id="footer">
<h5>Project for NumericALL bootcamp - 2020</h5>
<h5>Made by Matthieu Barbier & Charles Wilmart<h5>
</footer>
</body>
</html>