9

I am working on cart in laravel 5.5. Whenever guests click on "Add to cart", i am redirecting to login. If they have account, they will login and redirecting to product info they have selected. Otherwise they are registering. I wanted to redirect to customer selected product after registration. For Login, this is working fine.. return redirect()->intended(); For Registration intended url not working..

Amarjit Singh
  • 2,068
  • 19
  • 52
Sridhar
  • 101
  • 2
  • 2
  • 5

4 Answers4

13

In Controllers/Auth/RegisterController change protected $redirectTo = '/'; at line 30

For dynamic URL replace protected $redirectTo = '/'; with

protected function redirectTo()
{
    /* generate URL dynamicaly */.
    return '/path'; // return dynamicaly generated URL.
}

you can also use return redirect()->intended(/* default uri to redirect user goes here */);

The intended method on the redirector will redirect the user to the URL they were attempting to access before being intercepted by the authentication middleware. A fallback URI may be given to this method in case the intended destination is not available.

Amarjit Singh
  • 2,068
  • 19
  • 52
  • 2
    Thanks for reply. I wanted this redirect location to be dynamic based on product name clicked by guest after registration. – Sridhar Nov 17 '17 at 07:57
  • Just read Laravel documentation here https://laravel.com/docs/5.5/authentication – Amarjit Singh Nov 17 '17 at 08:14
  • 6
    I tried this. But it is giving error like this. **Header may not contain more than a single header, new line detected** – Sridhar Nov 17 '17 at 08:17
4

Instead of

protected $redirectTo = '/home';

Your can use this method

protected function redirectTo()
{
    $userName = Auth::user()->name;
    //use your own route
    return route('user.edit', compact('userName'));
}
Ridowan Ahmed
  • 97
  • 1
  • 2
  • 11
2

Use function registered(Request $request, $user) as follows

protected function registered(Request $request, $user)
    {
        if ($redirect_to_selected_prodcut) {
            return redirect('/order/product');
        }

        return redirect()->intended();
    }
mwa91
  • 3,949
  • 1
  • 13
  • 10
0

Below the code that does the login add

 return \Redirect::intended('/default-url-if-user-did-not-come-from-any-page');