Exemplo n.º 1
0
 public function signup($data)
 {
     if (strlen($data['password']) < 6) {
         throw new Exception('Длина пароля должна быть не менее 6 символов');
     }
     if (empty($data['email'])) {
         throw new Exception('E-mail не может быть пустым');
     }
     if ($data['captcha'] != $_SESSION['captcha']) {
         throw new Exception("Капча введена не верно");
     }
     $email = Validate::clear($data['email']);
     if (!$this->UniqEmail($email)) {
         throw new Exception('Такой email уже зарегистрирован!');
     }
     $password = Validate::hashInit($data['password']);
     $name = Validate::clear($data['name']);
     if (Validate::EmailValidate($email) === false) {
         throw new Exception('Введите корректный email');
     }
     $avatar = $_FILES['userfile']['name'];
     $time = time();
     //Регистрируем пользователя:
     $query = $this->db->prepare("INSERT INTO `users` (`email`,`password`,`name`, `avatar`, `date_register`) \n                                        VALUES(:email, :password, :name, :avatar, {$time})");
     $query->bindParam(':email', $email, PDO::PARAM_STR, 155);
     $query->bindParam(':password', $password, PDO::PARAM_STR, 155);
     $query->bindParam(':name', $name, PDO::PARAM_STR, 100);
     $query->bindParam(':avatar', $avatar, PDO::PARAM_STR, 50);
     //Загружаем аватр на сервер:
     $upload = new UploadFile();
     $upload->upload();
     if ($query->execute()) {
         //Отправляем письмо:
         Mail::new_mail($email, "Регистрация на сайте.", "Здравствуйте, {$name}. Благодарю Вас за регистрацию на моем сайте. \n\r ");
         header("Refresh:3; url=login");
         return true;
     }
     //Записываем в лог ошибку:
     $info = $this->db->errorInfo();
     error::ErrLog("- Ошибка PDO: " . $info[2] . "\n" . __FILE__ . "\n" . __LINE__);
 }
Exemplo n.º 2
0
 /**
  * Регистрация пользователей
  * */
 public function signup($data)
 {
     //Создаю переменную, которую если что я использовал вместо HTTP_PATH
     $stringurl = str_replace("/index.php", "", HTTP_PATH);
     if (strlen($data['password']) < 6) {
         throw new Exception('Длина пароля должна быть не менее 6 символов');
     }
     if (empty($data['email'])) {
         throw new Exception('E-mail не может быть пустым');
     }
     if ($data['captcha'] != $_SESSION['captcha']) {
         throw new Exception("Капча введена не верно");
     }
     $email = Validate::clear($data['email']);
     if (!$this->UniqEmail($email)) {
         throw new Exception('Такой email уже зарегистрирован!');
     }
     $password = Validate::hashInit($data['password']);
     $name = Validate::clear($data['name']);
     if (Validate::EmailValidate($email) === false) {
         throw new Exception('Введите корректный email');
     }
     $time = time();
     //Регистрируем пользователя
     $query = $this->db->prepare("INSERT INTO `users` (`email`,`password`,`name`,`date_register`, `activate`) \n\t                                 VALUES(:email, :password, :name, {$time}, 0)");
     $query->bindParam(':email', $email, PDO::PARAM_STR, 155);
     $query->bindParam(':password', $password, PDO::PARAM_STR, 155);
     $query->bindParam(':name', $name, PDO::PARAM_STR, 100);
     if ($query->execute()) {
         //отправляем письмо активации
         $id = $this->db->lastInsertId();
         $key_hash = Validate::hashInit($email . "::" . $password);
         $link_activate = $stringurl . "activate/" . $id . "/" . $key_hash;
         Mail::new_mail($email, "Активация аккаунта!", "Здравствуйте, вы зарегистрировались на сайте прогнозов HockeyBets \n\r\n\t     Для подтверждения аккаунта, кликните по ссылке активации(или скопируйте в адресную строку): " . $link_activate . "\n\r");
         return true;
     }
     //Записываем в лог ошибку
     $info = $this->db->errorInfo();
     error::ErrLog("- Ошибка PDO: " . $info[2] . "\n" . __FILE__ . "\n" . __LINE__);
 }
Exemplo n.º 3
0
 /**
  * Регистрация пользователей
  * */
 public function signup($data)
 {
     if (strlen($data['password']) < 6) {
         throw new Exception('Длина пароля должна быть не менее 6 символов');
     }
     if (empty($data['email'])) {
         throw new Exception('E-mail не может быть пустым');
     }
     if ($data['captcha'] != $_SESSION['captcha']) {
         throw new Exception("Капча введена не верно");
     }
     $email = validate::clear($data['email']);
     if (!$this->UniqEmail($email)) {
         throw new Exception('Такой email уже зарегистрирован!');
     }
     $password = validate::hashInit($data['password']);
     $name = validate::clear($data['name']);
     if (validate::EmailValidate($email) === false) {
         throw new Exception('Введите корректный email');
     }
     $time = time();
     //Регистрируем пользователя
     $query = $this->db->prepare("INSERT INTO `users` (`email`,`password`,`name`,`date_register`, `activate`) \r\n\t                                 VALUES(:email, :password, :name, {$time}, 0)");
     $query->bindParam(':email', $email, PDO::PARAM_STR, 155);
     $query->bindParam(':password', $password, PDO::PARAM_STR, 155);
     $query->bindParam(':name', $name, PDO::PARAM_STR, 100);
     if ($query->execute()) {
         //отправляем письмо активации
         $id = $this->db->lastInsertId();
         $key_hash = validate::hashInit($email . "::" . $password);
         $link_activate = HTTP_PATH . "activate/" . $id . "/" . $key_hash;
         mail::new_mail($email, "Активация аккаунта!", "Здравствуйте, вы зарегистрировались в скрипте ЛК, одного из примеров, на сайте\r\n\t     mzcoding.com. \n\r \r\n\t     Для подтверждения аккаунта, кликните по ссылке активации:" . $link_activate . "\n\r");
         return true;
     }
     //Записываем в лог ошибку
     $info = $this->db->errorInfo();
     error::ErrLog("- Ошибка PDO: " . $info[2] . "\n" . __FILE__ . "\n" . __LINE__);
 }