Esempio n. 1
0
 public function Register()
 {
     $login = $_POST['login'];
     $password = $_POST['password'];
     Session::start();
     //$captcha = $_SESSION['rand_code'];
     $captcha = $_POST['captcha'];
     unset($_SESSION['rand_code']);
     $err = User::Validate($login, $password, $_POST['password_to'], $captcha);
     if (empty($err)) {
         $user = new User($login, $password);
         $user->login = $login;
         $user->password = sha1($password);
         $user->save();
         $stats = new Stats();
         $stats->login = $user->login;
         $stats->Save();
         $state = new State();
         $state->login = $user->login;
         $state->save();
         $forest = new Forest();
         $forest->login = $user->login;
         $forest->save();
         $stock = new Stock();
         $stock->login = $user->login;
         $stock->save();
         Notification::Set($login . ', Вы зарегистрировались, можете войти на сайт', 'Accept');
         header('location: /visitor/login');
         die;
     } else {
         Notification::Set($err, 'Error');
         header('location: /visitor/register');
         die;
     }
 }
Esempio n. 2
0
    public static function Validate($login, $password, $password_to, $captcha)
    {
        $err = '';
        if (empty($login)) {
            $err = 'Введите логин!';
        } elseif (empty($password)) {
            $err = 'Введите пароль!';
        } elseif (empty($password_to)) {
            $err = 'Введите пароль повторно!';
        } elseif ($password != $password_to) {
            $err = 'Пароли не совпадают!';
        } elseif (!preg_match('~^[-a-zA-Z0-9_]+$~', $login)) {
            $err = 'Логин может состоять только из букв латинского алфавита и цифр,
	       				а также "-","_"';
        } elseif (!preg_match('~^[-a-zA-Z0-9_]+$~', $password)) {
            $err = 'Пароль может состоять только из букв латинского алфавита и цифр,
	       				а также "-","_"';
        } elseif (strlen($login) < 3 or strlen($login) > 18) {
            $err = 'Логин должен быть не меньше 3-х символов и не больше 18-ти';
        } elseif (strlen($password) > 18) {
            $err = 'Пароль должен быть не больше 18-ти символов';
        } elseif (empty($_POST['captcha'])) {
            $err = 'Введите проверочный код';
        } elseif ($captcha != $_POST['captcha']) {
            $err = 'Проверочный код введен неверно';
        } elseif (false !== User::FindByColumn('login', $_POST['login'])) {
            $err = 'Пользователь с таким логином уже существует';
        }
        return $err;
    }