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__); }
/** * Регистрация пользователей * */ 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__); }
/** * Регистрация пользователей * */ 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__); }