I'm trying to get a success message back to my home page on laravel.
return redirect()->back()->withSuccess('IT WORKS!');
For some reason the variable $success doesn't get any value after running this code.
The code I'm using to display the succes message:
@if (!empty($success)) <h1>{{$success}}</h1> @endif
I have added the home and newsletter page to the web middleware group in routes.php like this:
Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/', function () { return view('home'); }); Route::post('/newsletter/subscribe','NewsletterController@subscribe'); });
Does anyone have any idea why this doesn't seem to work?
Redirect with Data Firstly, you can just use with(): return redirect()->back()->with('error', 'Something went wrong. '); This code will add an item to the Session Flash Data, with key "error" and value "Something went wrong" - and then you can use that in the result Controller or View as session('error').
You should remove web
middleware from routes.php
. Adding web
middleware manually causes session and request related problems in Laravel 5.2.27 and higher.
If it didn't help (still, keep routes.php
without web middleware), you can try little bit different approach:
return redirect()->back()->with('message', 'IT WORKS!');
Displaying message if it exists:
@if(session()->has('message')) <div class="alert alert-success"> {{ session()->get('message') }} </div> @endif
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With