Laravel 4注销问题

时间:2014-05-06 16:08:56

标签: php laravel laravel-4

我将要展示的代码来自我正在关注的教程 问题是:当我使用链接注销时,它重定向到注销页面,该页面不存在错误“哎呀出错”而不是索引页。

所以完美的代码会注销,但为什么它会重定向到注销页而不是索引页?

退出路线:

 Route::group(array('before' => 'auth'), function(){
        /* 
        signout
        */
   Route::get('logout',array(
      'as'=>'logout-cont',
      'uses'=>'AccountController@getLogout'
    ));

});

帐户控制器getLogout:

public function getLogout()
{
    Auth::logout();
    return Redirect::route('index');
}

我的退出按钮:

@if(Auth::check())
    <li><a href="{{ URL::route('logout-cont') }}">logout</a></li>
@else
    <li><a href="{{ URL::route('login') }}">login</a></li>
    <li><a href="{{ URL::route('create') }}">register</a></li>
@endif

2 个答案:

答案 0 :(得分:3)

从您的问题我发现您的调试模式已关闭。首先转到/app/config/app.php并将debug设置为“true”。

以下路线应将您重定向到应用程序的主页:

return Redirect::to("/");

在您的示例中,您正在重定向到名为&#39; index&#39;的路线。如果您想使用您的方法,请确保您设置了一个名为index的路线,它将指向控制器中加载首选页面的方法!

答案 1 :(得分:0)

是的,我知道你看到了phpacademy教程...

plzz使用以下步骤AccountController.php

public function logout() {

    if (Auth::check()) {
        Session::flush();
        return Redirect::route('account-create');
    } else {
        return Redirect::route('account-create');
    }
}

然后

Route::get('logout', array('as'=>'logout', 'uses'=>'AccountController@logout'));

route.php

<a href="{{URL::to('logout')}}" class="btn btn-danger btn-sm">Logout</a>

使用navigation.php

请注意filter.php

Route::filter('auth', function()
{
    if (Auth::guest())
    {
        if (Request::ajax())
        {
            return Response::make('Unauthorized', 401);
        }
        else
        {
            return Redirect::guest('login');
        }
    }
});