-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.php
131 lines (99 loc) · 3.43 KB
/
action.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
<?php
if(isset($_POST['submit']) && $_SERVER['REQUEST_METHOD'] == 'POST')
{
$password = $_POST['psw'];
$first_name = $_POST['fname'];
$last_name = $_POST['lname'];
$email = $_POST['email'];
if (strcmp($password, $_POST['psw-repeat']) == 0)
{
echo 'Password Matched';
if(strength_check($password) == 0)
{
header("location: index.php?error_message=Password Too Weak, Please Use Another Password [More Info: https://www.strongpasswordgenerator.org/]");
}
else{
// encryption password
$password = $_POST['psw'];
if(((mail_Validation($email) AND string_Validation($first_name) AND string_Validation($last_name))) == 1)
{
db_write($first_name, $last_name, $email, $password);
header("location: index.php?message=Register Successful, Data Store in Server");
}
}
}else
{
header("location: index.php?error_message=Error Occurred, Password Mismatch");
}
}else {
header("location: index.php");
}
// that php function help to check strong password for user
function strength_check($password): int
{
$uppercase = preg_match('@[A-Z]@', $password);
$lowercase = preg_match('@[a-z]@', $password);
$number = preg_match('@[0-9]@', $password);
$specialChars = preg_match('@[^\w]@', $password);
if(!$uppercase || !$lowercase || !$number || !$specialChars || strlen($password) < 8) {
return 0;
}else{
return 1;
}
}
// that function write on database
function db_write($firstName, $lastName, $mail, $hashPass): void
{
require_once 'config.php';
$pass = md5($hashPass);
$SQL = "INSERT INTO users (pwd, First_Name, Last_Name, Email) VALUES ('$pass', '$firstName', '$lastName', '$mail');";
if ($conn->query($SQL) === TRUE)
{
header("location: index.php?message=Register Successful, Data Store in Server");
}
else
{
header("location: index.php?error_message=Error Occurred, Data Can't Be Store in Server (Database Error)");
}
$conn->close();
}
// that function validation strings
function string_Validation($string_data): int
{
if (!preg_match("/^[a-zA-Z ]*$/",$string_data))
{
header("location: index.php?error_message=Some Strings Can't Be Accepted (A-Z, a-z accepted)");
return 0;
}else{
return 1;
}
}
// that function helps validation e-mails
function mail_Validation($mail_address): int
{
if (!filter_var($mail_address, FILTER_VALIDATE_EMAIL))
{
header("location: index.php?error_message=Wrong E-Mail Format");
return 0;
}else{
return 1;
}
}
// that function helps validate mobile numbers
function mobile_numberValidation($number): int
{
if (!preg_match("/^[0-9]*$/", $number))
{
header("location: index.php?error_message=Wrong With Mobile Number");
return 0;
}else
{
if(strlen ($number) != 10)
{
header("location: index.php?error_message=Mobile no must contain 10 digits");
return 0;
}else{
return 1;
}
}
}