Question

I want to return the users info to my view when a user logs in but I keep getting an error message that says "Undefined variable: user"

Here is my controller code:

public function postLogin()
{
    $credentials = array(
        'email'    => \Input::get('email'),
        'password' => \Input::get('password')
    );

    try
    {
        $user = \Sentry::authenticate($credentials, false);

        if ($user);
        {
            $user = \Sentry::getUser();
            \Notification::succes('Succesvol ingelogd als,'. $user->name);
            return \Redirect::back()-with($user);
        }
    }
        catch(\Exception $e)
    {
        \Notification::error($e->getMessage());
        return \Redirect::back();
    }
}

and in my view I try to use the $user variable but then I get the error.

Was it helpful?

Solution

When you do:

Redirect::back()->with('user',$user);

In your new request you must get the user from the Session:

$user = Session::get('user');

and pass it to your view:

return View::make('view')->with('user', $user);

Because Laravel doesn't create global variables as it does when you:

return View::make('view')->with('variableName', $value);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top