Bootstrap Форма входа в navbar в laravel - PullRequest
1 голос
/ 09 апреля 2020

Я использую Bootstrap 4 и Laravel 6.

Вместо того, чтобы иметь другую страницу входа в систему, я хочу позволить пользователю войти в систему через форму в панели навигации. Это моя форма. Форма входа в navbar

Моя проблема, когда пользователь нажимает кнопку входа в систему, он перенаправляет на / login Просмотр, предлагаемый Laravel, и появляется ошибка 419 | Страница устарела .

Я пытался переопределить код Laravel, но проблема в том, что я запутался, либо мне нужно изменить действие формы, написать что-то в LoginController или что-то в Маршрут .

То, что я sh, является зарегистрированным пользователем, просто введет учетные данные и успешно выполнит вход. После входа он будет перенаправлен на ту же страницу (домашнюю страницу), но с кнопкой выхода.

header. php

            <ul class="nav navbar-nav ml-auto">

              <!-- Authentication Links -->
              @guest
              <form method="post" action="{{ route('login') }}">
                <div class="form-row align-items-center">

                  <div class=" my-1 mx-1">
                    <label for="email" class="sr-only col-form-label text-md-right"></label>
                    <input id="email" type="email" class="form-control form-control-sm @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus placeholder="email address">

                    @error('email')
                        <span class="invalid-feedback" role="alert">
                            <strong>{{ $message }}</strong>
                        </span>
                    @enderror
                  </div>


                  <div class=" my-1 mx-1">
                    <label for="password" class="sr-only col-form-label text-md-right"></label>
                    <input id="password" type="password" class="form-control form-control-sm @error('password') is-invalid @enderror" name="password" required autocomplete="current-password" placeholder="password">

                    @error('password')
                        <span class="invalid-feedback" role="alert">
                            <strong>{{ $message }}</strong>
                        </span>
                    @enderror
                  </div>

                <!--  <div class="col-auto my-1">
                    <div class="form-check">
                      <input class="form-check-input" type="checkbox" id="autoSizingCheck2">
                      <label class="form-check-label" for="autoSizingCheck2">
                        Remember me
                      </label>
                    </div>
                  </div>-->
                  <div class="col-auto my-1">
                    <button type="submit" class="btn btn-primary login">{{ __('Login') }}</button>
                  </div>
                </div>
              </form>

            @else
<li class="nav-item dropdown">
                  <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                      {{ Auth::user()->name }} <span class="caret"></span>
                  </a>

                  <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                      <a class="dropdown-item" href="{{ route('logout') }}"
                         onclick="event.preventDefault();
                                       document.getElementById('logout-form').submit();">
                          {{ __('Logout') }}
                      </a>

                      <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                          @csrf
                      </form>
                  </div>
              </li>

            @endguest


            </ul>

Route. php

    Route::group([ 'middleware' => ['web']], function(){

      Route::get('/',[

        'uses' => 'niceActionController@getActionController'
      ]);


      Route::get('/{url}',  [
        'uses' => 'niceActionController@getPages',
        'as' => 'getURL'
      ]);


      Auth::routes(['verify' => true]);


    /***********Group Routes******************/
      Route::group(['prefix' => 'products'] , function(){

        Route::get('/{product}',  [
          'uses' => 'niceActionController@getProductPages',
          'as' => 'productPage'
        ]);

      });

});

LoginController. php

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    use AuthenticatesUsers;

      protected $redirectTo = '/home';

    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
}
...