我有一个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!');
}
答案 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
我希望这会对你有所帮助。