2016-11-23 4 views
1

Я создаю страницу регистрации пользователя и входа в laravel 5.2. Оба находятся на одной странице и разделены вкладками navbar. Для регистрации я использовал действие формы и для входа в систему, я использовал ajax при нажатии кнопки. Оба прекрасно работают. Но проблема в том, что после самой регистрации URL-адрес входа в систему изменяется на выход. Мне нужно это только после входа пользователя на сайт. Ниже приведена моя функция регистрации.auth check возвращает true после регистрации в laravel 5.2

protected function create(array $data) 
{ 

    $user = User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 

    $meber_role = Role::select('id')->where('slug', 'member')->get(); 

    $RoleUser = new RoleUser; 
    $data['role_id'] = $meber_role[0]->id; 
    $RoleUser->fill($data); /* user Role */ 
    $user->RoleUser()->save($RoleUser); 

    return $user; 
} 

Я использовал приведенный ниже код для проверки того, является ли пользователь зарегистрированным или нет. Если пользователь выполнил вход в систему, заголовок входа в систему изменится на выход.

@if(!Auth::check()) 
    <div class="sign-in"> 
     <a href="{{url('login')}}" title="login" class="clsComLogin"><i class="icon-user icons"></i><span>Login</span></a> 
    </div> 
@else 
    <div> 
     <a href="{{ url('auth/logout') }}"><i class="fa fa-sign-out"></i>&nbsp;Logout</a> 
    </div> 
@endif 

Теперь код выхода из системы появляется в заголовке после регистрации. Как изменить эту ситуацию. Заранее спасибо.

+0

Хм это кажется странным. как URL-адрес входа в систему может измениться на выход? Можете ли вы предоставить свои маршруты? –

+0

Route :: get ('login', 'LoginController @ index'); // для загрузки имени входа и регистрации Route :: group (['middlewareGroups' => ['web']], function() { Маршрут :: контроллеры ([ 'auth' => 'Auth \ AuthController' , 'password' => 'Auth \ PasswordController', ]); – Rose

ответ

2

Пользователь зарегистрирован после регистрации по умолчанию. Чтобы изменить эту ситуацию, добавьте или перезапишите функцию postRegister(). Это только регистрируется, но не регистрируется.

public function postRegister(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    $this->create($request->all()); 

    return redirect($this->redirectPath()); 
} 
+0

спасибо Sanzeeb :) – Rose

Смежные вопросы