Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //register.blade.php
- <!doctype html>
- <html lang="{{ app()->getLocale() }}">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}">
- <link rel="stylesheet" href="{{ asset('css/layout.css') }}">
- <title>{{ $title }}</title>
- </head>
- <body>
- <div class="container">
- <a class="btn btn-default btn-primary" href='/auth' role="button">Назад</a>
- <a class="btn btn-default btn-primary" href='/' role="button">Главная страница</a>
- <form action="register" method="post" class="form-horizontal">
- <!--input name="_token" type="hidden" value="{{ csrf_token() }}"><!-- this string may be problem -->
- <div class="form-group">
- <div class="col-md-offset-4 col-md-4">
- <label for="form_login">Логин</label>
- <input type="text" class="form-control" id="form_login" name="login" placeholder="Логин" value=" {{ $login }}">
- </div>
- </div>
- <div class="form-group">
- <div class="col-md-offset-4 col-md-4">
- <label for="form_password">Пароль</label>
- <input type="password" class="form-control" id="form_password" name="password" placeholder="Пароль">
- </div>
- </div>
- <div class="form-group">
- <div class="col-md-offset-4 col-md-4">
- <label for="form_fio">Ф.И.О.</label>
- <input type="text" class="form-control" id="form_fio" name="fio" placeholder="Ф.И.О." value="{{ $fio }}">
- </div>
- </div>
- <div class="form-group">
- <div class="col-md-offset-4 col-md-4">
- <label for="form_email">Email</label>
- <input type="email" class="form-control" id="form_email" name="email" placeholder="Email" value="{{ $email }}">
- </div>
- </div>
- <div class="form-group">
- <div class="col-md-offset-4 col-md-4">
- <input id="submit" class="form-control btn btn-block btn-primary" type="submit" value="Отправить">
- </div>
- </div>
- </form>
- <!-- </*?php
- TestValidation::showErrors($args['errors']);
- ?*/> -->
- </div>
- <script src="{{ asset('js/jquery-3.2.0.js') }}"></script>
- <script src="{{ asset('js/validationMessage.js') }}"></script>
- </body>
- </html>
- // RegisterController.php
- <?php
- namespace App\Http\Controllers;
- use App\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Validator;
- class RegisterController extends Controller
- {
- public static function route(Request $request){
- $controller = new RegisterController();
- $cookie = new SessionController();
- $cookie->forbiddenAccess(true);
- if($request->has('register')){
- $email = $request->input('email');
- $login = $request->input('login');
- $fio = $request->input('fio');
- $result = $controller->validateReg($request,1000,5);
- } else {
- $email = null;
- $login = null;
- $fio = null;
- $result = null;
- }
- return view('register')->with([
- //'sitename' => IndexController::$name,
- 'title' => 'Регистрация'.PageInfoController::getTitle(),
- 'login' => $login,
- 'email' => $email,
- 'fio' => $fio,
- //'code' => $code,
- 'result' => $result
- ]);
- echo $result;//may be error;
- }
- public function validateReg(Request $request,$account,$status){
- $modelUser = new User();
- $input = array(
- 'login' => $request->input('login'),
- 'password' => $request->input('password'),
- 'email' => $request->input('email'),
- 'fio' => $request->input('fio')
- );
- $rules = array(
- 'login' => 'required|unique:users,login',
- 'password' => 'required|min:8',
- 'email' => 'required|email|unique:users,email',
- 'fio' => 'required'
- );
- $messages = array(
- 'same' => 'Поле :attribute и :other не совпадают.',
- 'required' => 'Заполните обязательные поля.',
- 'email' => 'Введенный :attribute содержит ошибки.',
- 'unique' => 'Введенный :attribute уже был зарегистрирован ранее.',
- 'date_format' => 'Дата введена в неверном формате.',
- 'before' => 'День рождения не может быть задан в будущем.',
- 'min' => 'Длина поля :attribute должна быть более :min',
- );
- $validator = Validator::make($input,$rules,$messages);
- if(!$validator->fails()){
- $user = new User();
- $session = new SessionController();
- $user->add($request,$account,$status);//this method create node in user
- $session->setSession($modelUser->getIdByLogin($request->input('login')));
- echo $session."<br>".$modelUser;//may be error;
- return header('Location: /');
- echo $session."<br>".$modelUser;//may be error;
- } else {
- $messages = $validator->messages();
- foreach ($messages->all(':message') as $message) return $message;
- }
- }
- }
- // User.php
- <?php
- namespace App;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Http\Request;
- class User extends Model
- {
- public function add(Request $request,$account,$status){
- $notification = new Notifications();
- $user = new User();
- $user->login = $request->input('login');
- $user->password = password_hash($request->input('password'), PASSWORD_DEFAULT, ['cost' => 12]);
- $user->fio = $request->input('fio');
- $user->email = $request->input('email');
- $user->status = $status;//instad role_id
- $user->save();
- $title = 'Поздравляем Вас с упешной регистрацией!';
- $notification->add($user->id,$title);
- }
- public function isAuth($login,$password){
- $user = User::where('login', $login)->first();
- if ($user !== null)
- if (password_verify($password, $user->password))
- return true;
- return false;
- }
- public function isEmailExist($email){
- $user = User::where('email', $email)->first();
- if($user !== null)
- return true;
- return false;
- }
- public function isLoginExist($login){
- $user = User::where('login', $login)->first();
- if($user !== null)
- return true;
- return false;
- }
- public function getIdByEmail($email){
- $user = User::where('email', $email)->first();
- return $user->id;
- }
- public function getFioById($id){
- $user = User::where('id',$id)->first();
- return $user->fio;
- }
- public function getLoginById($id){
- $user = User::where('id', $id)->first();
- return $user->login;
- }
- public function getEmailById($id){
- $user = User::where('id', $id)->first();
- return $user->email;
- }
- public function isAdmin($id){
- $user = User::where('id', $id)->first();
- if($user!=null)
- if($user->status == 1)
- return true;
- return false;
- }
- public function get($id){
- $user = User::find($id);
- return $user;
- }
- public $timestamps = false;
- }
Add Comment
Please, Sign In to add comment