-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathusers.php
More file actions
122 lines (107 loc) · 4.06 KB
/
users.php
File metadata and controls
122 lines (107 loc) · 4.06 KB
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
<?php
include ("db.php");
$errMsg = "";
function userAuth($user){
$_SESSION['id'] = $user['id'];
$_SESSION['login'] = $user['username'];
$_SESSION['admin'] = $user['admin'];
if($_SESSION['admin']){
header('location: ' . BASE_URL . "admin/posts/index.php");
}else{
header('location: ' . BASE_URL);
}
}
$users = selectAll('users');
// Код для формы регистрации
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['button-reg'])){
$admin = 1;
$login = trim($_POST['login']);
$email = trim($_POST['mail']);
$passF = trim($_POST['pass-first']);
$passS = trim($_POST['pass-second']);
if($login === '' || $email === '' || $passF === ''){
$errMsg = "Не все поля заполнены!";
}elseif (mb_strlen($login, 'UTF8') < 2){
$errMsg = "Логин должен быть более 2-х символов";
}elseif ($passF !== $passS) {
$errMsg = "Пароли в обеих полях должны соответствовать!";
}else{
$existence = selectOne('users', ['email' => $email]);
if($existence['email'] === $email){
$errMsg = "Пользователь с такой почтой уже зарегистрирован!";
}else{
$pass = password_hash($passF, PASSWORD_DEFAULT);
$post = [
'admin' => $admin,
'username' => $login,
'email' => $email,
'password' => $pass
];
$id = insert('users', $post);
$user = selectOne('users', ['id' => $id] );
userAuth($user);
}
}
}else{
$login = '';
$email = '';
}
// Код для формы авторизации
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['button-log'])){
$email = trim($_POST['mail']);
$pass = trim($_POST['password']);
if($email === '' || $pass === '') {
$errMsg= "Не все поля заполнены!";
}else{
$existence = selectOne('users', ['email' => $email]);
if($existence && password_verify($pass, $existence['password'])){
userAuth($existence);
}else{
$errMsg = "Почта либо пароль введены неверно!";
}
}
}else{
$email = '';
}
// Код добавления пользователя в админке
if($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['create-user'])){
$admin = 0;
$login = trim($_POST['login']);
$email = trim($_POST['mail']);
$passF = trim($_POST['pass-first']);
$passS = trim($_POST['pass-second']);
if($login === '' || $email === '' || $passF === ''){
$errMsg = "Не все поля заполнены!";
}elseif (mb_strlen($login, 'UTF8') < 2){
$errMsg = "Логин должен быть более 2-х символов";
}elseif ($passF !== $passS) {
$errMsg = "Пароли в обеих полях должны соответствовать!";
}else{
$existence = selectOne('users', ['email' => $email]);
if($existence['email'] === $email){
$errMsg = "Пользователь с такой почтой уже зарегистрирован!";
}else{
$pass = password_hash($passF, PASSWORD_DEFAULT);
if (isset($_POST['admin'])) $admin = 1;
$user = [
'admin' => $admin,
'username' => $login,
'email' => $email,
'password' => $pass
];
$id = insert('users', $user);
$user = selectOne('users', ['id' => $id] );
userAuth($user);
}
}
}else{
$login = '';
$email = '';
}
// Код удаления пользователя в админке
if($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['delete_id'])){
$id = $_GET['delete_id'];
delete('users', $id);
header('location: ' . BASE_URL . 'admin/users/index.php');
}
// РЕДАКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЯ ЧЕРЕЗ АДМИНКУ