-
Notifications
You must be signed in to change notification settings - Fork 0
/
ajax.php
66 lines (59 loc) · 2.16 KB
/
ajax.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
<?php
$fp = fopen('log.txt', 'a');
$users = [
'[email protected]' => [
'first_name' => 'Антон',
'last_name' => 'Данилкин',
'password' => 'test'
],
'[email protected]' => [
'first_name' => 'Иван',
'last_name' => 'Иванов',
'password' => 'test2'
]
];
if (isset($_POST['act']) && $_POST['act'] == 'registration') {
$errors = [];
$requiredFields = [
'first_name' => 'Имя',
'last_name' => 'Фамилия',
'password' => 'Пароль',
'password_repeat' => 'Повтор пароля',
'email' => 'Email',
];
foreach ($requiredFields as $k => $v) {
if ($k != 'password' && $k != 'password_repeat')
$_POST[$k] = trim($_POST[$k]);
if (empty($_POST[$k]))
$errors[$k] = 'Поле ' . $v . ' обязательно для заполнения';
$v = $_POST[$k];
switch ($k) {
case 'email':
if (!filter_var($v, FILTER_VALIDATE_EMAIL))
$errors[$k] = 'Неверный формат Email';
if (isset($users[$v]))
$errors[$k] = 'Пользователь с таким Email уже существует';
break;
case 'password':
if (strlen($v) < 6)
$errors[$k] = 'Минимальная длина пароля 6 символов';
break;
case 'password_repeat':
if ($_POST['password'] != $_POST['password_repeat'])
$errors[$k] = 'Неверный повтор пароля';
break;
}
}
if ($errors) {
$error = implode('<br>', $errors);
fwrite($fp, $_POST['email'] . '||' . $error . PHP_EOL);
exit(json_encode(['error' => $error]));
}
$users[$_POST['email']] = [
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'password' => $_POST['password']
];
fwrite($fp, $_POST['email'] . '||success' . PHP_EOL);
exit(json_encode(['success' => 'Регистрация прошла успешно']));
}