Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require "db.php";
- class signup
- {
- // Создаём переменные для регистрации
- public $data;
- public $login;
- public $email;
- public $user;
- protected $password;
- protected $password_2;
- // Процесс регистрации пользователя
- public function __construct($data, $login, $email, $password, $password_2)
- {
- // Присваиваем переменным значения
- $data = $_POST;
- $login = $data['login'];
- $email = $data['email'];
- $password = $data['password'];
- $password_2 = $data['password_2'];
- $errors = [];
- // Генерация ошибок в случае не ввода каких либо данных
- if(isset($data['do_signup']))
- {
- if(trim($login == ''))
- {
- $errors[] = 'Введите логин';
- }
- if(trim($email == ''))
- {
- $errors[] = 'Введите email';
- }
- if(trim($password == ''))
- {
- $errors[] = 'Введите пароль';
- }
- if(trim($password != $password_2))
- {
- $errors[] = 'Повторный пароль введён неверно';
- }
- // Всё хорошо, регистрируем пользователя
- if(empty($errors))
- {
- $user = R::dispense('users');
- $user->login = $login;
- $user->email = $email;
- $user->password = password_hash($this->password, PASSWORD_DEFAULT);
- R::store($user);
- echo "Вы успешно зарегистрированны, можете перейти на <a href='index.php'>главную</a> страницу";
- } else
- {
- echo '<div style="color: red;">' . array_shift($errors) . '</div>';
- }
- }
- }
- }
- $signup = new signup($data, $login, $email, $password, $password_2);
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Регистрация</title>
- </head>
- <body>
- <form action="signup.php" method="POST">
- <input type="text" name="login" placeholder="Введите логин"><br>
- <input type="email" name="email" placeholder="Введите email"><br>
- <input type="password" name="password" placeholder="Введите пароль"><br>
- <input type="password" name="password_2" placeholder="Подтвердите пароль"><br>
- <button name="do_signup">Зарегистрироваться</button><br>
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement