【问题标题】:logout link not working when on nav bar using laravel使用 laravel 在导航栏上注销链接不起作用
【发布时间】:2018-01-26 14:45:18
【问题描述】:

我的退出链接在导航栏中不起作用;但是,如果我在主页上添加链接,或者直接转到路由 (http://localhost/dico/public/logout),它会起作用并且用户已注销。

当我查看页面源代码时,我确认注销链接中的 href 是正确的。如果我点击源代码中的链接,用户将被注销。

路线

Route::get('logout', 'SessionsController@destroy');

控制器

 <?php

 namespace App\Http\Controllers;

 use Illuminate\Http\Request;

 class SessionsController extends Controller
 {
     public function __construct()
     {...}

     public function create()
     {...}

     public function store()
     {...}

     public function destroy()
     {
         auth()->logout();

         return redirect('/login');
     }
 }

风景

 <li><a href="{{ URL::to('logout') }}"><i class="fa fa-sign-out fa-fw"></i> Logout</a></li>

我也试过

  • 注销
  • 【问题讨论】:

    • 用户被注销并且永远不会重定向到/login?
    • 当你点击链接时,它会点击destroy 方法吗?
    • 最好使用php artisan serve
    • 你在使用 Laravel auth 脚手架吗?

    标签: php html laravel laravel-5.4


    【解决方案1】:

    这可能对你有帮助:

    需要改变

    <li><a href="{{ URL::to('logout') }}"><i class="fa fa-sign-out fa-fw"></i> Logout</a></li>
    

    <li><a href="{{ url('logout') }}"><i class="fa fa-sign-out fa-fw"></i> Logout</a></li>
    

    <a href="{{ url('logout') }}">LOGOUT</a>
    

    【讨论】:

    • @AndresQuintero:希望你能从这个答案中得到一些东西,请检查一下
    【解决方案2】:
    public function destroy()
     {
         Auth::logout();
    
         return redirect('/login');
     }
    

    在控制器中

       use Auth; 
    

    【讨论】:

    • 如果您的答案包括某种关于如何使用它以及为什么它可以解决原始问题的描述,那将会有所帮助。
    • 只使用上面的代码。在您的功能中并添加使用身份验证;在其中添加模型或一些外墙。命名空间 App\Http\Controllers\admin;使用 Illuminate\Http\Request;使用 App\Http\Controllers\Controller;使用身份验证;像这样可以在你的控制器中添加
    【解决方案3】:
         <a style="color: #2F4F4F" href="{{ url('/logout') }}"
             onclick="event.preventDefault();
           document.getElementById('logout-form').submit();">
           Logout <i class="fa fa-sign-out pull-right" aria-hidden="true"></i>
    
         </a>
    
       <form id="logout-form" action="{{ url('/logout') }}" method="POST"
           style="display: none;">
           {{ csrf_field() }}
       </form>
                                    </li>
    

    尝试使用此方法

    【讨论】:

      猜你喜欢
      • 2020-12-31
      • 2018-03-25
      • 1970-01-01
      • 2017-08-31
      • 2015-04-17
      • 2019-07-28
      • 2012-09-27
      • 1970-01-01
      相关资源
      最近更新 更多