Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel : Redirect the user to the same page after login

I have a cart products page, if a person clicks on a product add to cart button they will be redirected to the login page.

After a successful login, I need to send the user back to same products page again.

I used the following way in login controller.

But it's not actually working the way i want. Means it redirect to the index page again, I have used the return redirect()->back(); also..but doesn't solve the problem

if (auth()->attempt(array('email' => $request->input('email'),
             'password' => $request->input('password')))){
 if(Auth::user()->name == 'Admin'){
                 return redirect()->to('home');
            }
            else{
           //     return redirect()->back();
                return redirect()->intended('/');
            }
     }

How to solve the issue?

like image 454
User57 Avatar asked Oct 21 '25 17:10

User57


1 Answers

In this case back() and intended() will not work.

You can save last product page to the session. Very simplified example:

session(['last_product_page_id' => $product->id]);

And then use this data to redirect user after login:

if (session()->has('last_product_page_id')) {
    return redirect()->route('product', session('last_product_page_id'));
}
like image 64
Alexey Mezenin Avatar answered Oct 23 '25 08:10

Alexey Mezenin