Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

graemem1995's avatar

Flash data not being written to session

Im using Laravel 7.12.0 and my flash session data doesn't appear to be working at all either using

request()->session()->flash('status', 'Task was successful!');

or

return redirect()->route('home')->with('status', "Task was successful");

I am using Debugbar as well as dd'ing the page to check session data.

I also know that the web middleware is being used.

session()->put() still works so I know putting data into the session aren't entirely broken but flash data does not seem to work at all. This is a fresh installation so I am struggling to see what could be wrong?

Web.php

Auth::routes();


Route::get('/', 'HomeController@index')->name('home');

Route::group(['middleware' => ['auth']], function () {
    Route::resource('polls', 'PollController');
    Route::post('polls/vote', 'PollController@vote')->name('polls.vote');
});

Route::resource('api/polls', 'API\PollController');

Part of RouteServiceProvider.php

    /**
     * Define the "web" routes for the application.
     *
     * These routes all receive session state, CSRF protection, etc.
     *
     * @return void
     */
    protected function mapWebRoutes()
    {
        Route::middleware('web')
            ->namespace($this->namespace)
            ->group(base_path('routes/web.php'));
    }

Web Middleware group in kernel.php

    /**
     * The application's route middleware groups.
     *
     * @var array
     */
    protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            'throttle:60,1',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
    ];

What is in the session from my HomeController@index after being redirected.

  "_token" => "pbZJgfC6XNG2eTqlcGADm68NqhjOHI16rWe4U1bt"
  "_previous" => array:1 [▼
    "url" => "http://127.0.0.1:8000"
  ]
  "_flash" => array:2 [▼
    "old" => []
    "new" => []
  ]
  "url" => []
  "login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d" => 1
]

Thanks

0 likes
2 replies
bobbybouwmann's avatar

Can you show your controller and view? How you set the session and display it?

graemem1995's avatar

HomeController.php (where I am redirecting to)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{

    public function index()
    {
        dd(request()->session()->all());
    }
}

At the moment I have no view as I am dd'ing to check the session.

I am setting my session from my PollController.php store function which looks like this:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PollController extends Controller
{

    public function store(Request $request)
    {
          return redirect()->route('home')->with('status', "Task was successful");
    }
}

I have reduced the PollController to return redirect only for the sake of trying to eliminate any potential conflicts.

I have also tried

return redirect()->route('home')->with(['status', "Task was successful"]);

Please or to participate in this conversation.