不要显示退出无论如何

时间:2018-06-13 20:21:56

标签: php html laravel

我有一个Laravel项目。当我登录网站并将用户重定向到主页时,我想将登录图标更改为注销但不起作用。

这是我的刀片:

@if(Auth::user())
    <a href="{{ url('/logout') }}" class="navbar-brand">
        <span class="glyphicon glyphicon-log-out" data-toggle="tooltip" data-placement="bottom" title="Logout"></span>
    </a>
@else
    <a href="{{ url('/signin') }}" class="navbar-brand">
        <span class="glyphicon glyphicon-user" data-toggle="tooltip" data-placement="bottom" title="Login"></span>
    </a>
@endif

这是我的控制者:

$data = Input::except(array('_token','signin'));

if(Auth::attempt($data)) {
    return redirect('/');
} else {
    return redirect('/login')->with('loginstatus','user not found!');
}

1 个答案:

答案 0 :(得分:0)

默认laravel注销路由使用POST方法,但您使用GET方法的代码,您应该像这样更新代码,

@if(Auth::user())
    <a href="{{ url('/logout') }}" class="navbar-brand"  onclick="event.preventDefault();
                                                         document.getElementById('logout-form').submit();">
        <span class="glyphicon glyphicon-log-out" data-toggle="tooltip" data-placement="bottom" title="Logout"></span>
    </a>
    <form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
                                    {{ csrf_field() }}
                                </form>
    @else
        <a href="{{ url('/signin') }}" class="navbar-brand">
            <span class="glyphicon glyphicon-user" data-toggle="tooltip" data-placement="bottom" title="Login"></span>
        </a>

@endif

我希望这会对你有所帮助。