Example #1
0
 public function login($data)
 {
     if (empty($data['email'])) {
         throw new Exception('E-mail не может быть пустым');
     }
     if (strlen($data['password']) < 5) {
         throw new Exception('Длина пароля должна быть не менее 6 символов');
     }
     $email = validate::clear($data['email']);
     $password = validate::hashInit($data['password']);
     $query = $this->db->prepare("SELECT `id`,`email`, `password`,`activate` FROM `users` WHERE `email` = :email");
     $query->bindParam(":email", $email, PDO::PARAM_STR);
     $query->execute();
     $result = $query->fetch();
     //Проверяем активирован ли аккаунт пользователя
     if ($result->activate == 0) {
         throw new Exception("Ваш аккаунт не активирован!");
     }
     if ($result->email === $email && $password === $result->password) {
         //успех
         if ($remember == 1) {
             setCookie("user_id", $result->id, time() + 3600 * 24 * 30);
         }
         $_SESSION['user']['id'] = $result->id;
         return true;
     }
     return false;
 }
Example #2
0
 /**
  * Работа с данными POST / COOKIE / SESSION
  * */
 public static function data()
 {
     try {
         if (isset($_POST) && !empty($_POST)) {
             $data = new Data();
             if (isset($_POST['signup'])) {
                 if ($data->signup($_POST)) {
                     die("Успешная регистрация! На ваш E-mail отправлено письмо с инструкцией по активации аккаунта");
                 } else {
                     echo "<div class='error'>Произоша ошибка в момент регистрации!</div>";
                 }
             }
             if (isset($_POST['login'])) {
                 if ($data->login($_POST)) {
                     self::location(HTTP_PATH);
                 } else {
                     echo "<div class='error'>Ошибка при входе</div>";
                 }
             }
             if (isset($_POST['recover'])) {
                 $email = validate::clear($_POST['email']);
                 if ($data->recover($email)) {
                     die("На ваш e-mail отправлен новый пароль!");
                 }
             }
             if (isset($_POST['profile'])) {
                 if ($data->editProfile($_POST)) {
                     echo "<center><strong>Профиль успешно изменен!</strong></center>";
                 } else {
                     echo "<div class='error'>Профиль успешно изменен!</div>";
                 }
             }
         }
     } catch (Exception $e) {
         echo "<div class='error'>" . $e->getMessage() . "</div>";
     }
 }