1

ユーザーによるログイン後、認証が再度行われ、Auth::check() が true を返す必要があります。しかし、ユーザー プロファイルでは false を返します。何が間違っているか、または不足していますか?

Route::post('login', function() {
            $userdata = array(
                'username' => Input::get('user'),
                'password' => Input::get('pw')
            );
            if (Auth::attempt($userdata, true)) {
                return Redirect::to('profile');
            } else {
                return Redirect::to('/')->with('login_errors', true);
            }
        });

Route::get('profile', function() {
            return (Auth::check() ? 'logged in' : 'not logged in') . '<br />' .
                    (Auth::user()==null ? 'null' : Auth::user()->name);
        });
4

1 に答える 1

1
Route::get('profile', function() {
        return (Auth::check() ? 'logged in' : 'not logged in') . '<br />' .
                (Auth::user()==null ? 'null' : Auth::user()->name);
    });

あなたの問題はこれにあると思います。三項演算子の使用は $action = (empty(var)) ? のようにする必要があります。「デフォルト」: null;

Route::get('profile', function() {
        return (Auth::check()) ? 'logged in' : 'not logged in') . '<br />' .
                (Auth::user()==null) ? 'null' : Auth::user()->name);
    });
于 2013-06-04T14:41:31.380 に答える