controller_user.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. class controller_user extends Controller
  3. {
  4. public function __construct()
  5. {
  6. parent::__construct();
  7. $this->model = new Model_user();
  8. $this->view = new View();
  9. }
  10. // login page
  11. public function login(){
  12. $error = [];
  13. if(isset($_POST['login'], $_POST['password'])){
  14. // получаем пользователя и сравниваем пароль
  15. $user = $this->model->get_user_by_login($_POST['login']);
  16. if(is_array($user) && ($user['password'] == $_POST['password'])){
  17. $_SESSION['user'] = $user;
  18. header('Location: /');
  19. exit;
  20. }
  21. $error['errlogin'] = 'Неверный логин или пароль!';
  22. }
  23. $this->view->generate('login_view.php', $error);
  24. }
  25. public function register(){
  26. if(isset($_POST['login'], $_POST['password'], $_POST['password_confirm'])){
  27. if($_POST['password'] == $_POST['password_confirm']){
  28. $this->model->register($_POST['login'], $_POST['password']);
  29. $_SESSION['user'] = $this->model->get_user_by_login($_POST['login']);
  30. header('Location: /');
  31. exit;
  32. }
  33. $error['errregister'] = 'Введенные пароли не совпадают';
  34. $this->view->generate('login_view.php', $error);
  35. } else {
  36. die('err');
  37. header('Location: /');
  38. }
  39. }
  40. public function logout(){
  41. session_destroy();
  42. header('Location: /');
  43. }
  44. }