Ich habe einen Controller, der eine Umleitung Funktion hat:Laravel 5.2.32: Session Blitz funktioniert nicht mit Redirect
public function myControllerMethod()
{
$data = $this->blabla();
return Redirect::to('previousroute')->with('data', $data);
}
Diese previousroute wird durch otherControllerMethod() wie so behandelt:
public function otherControllerMethod()
{
$data = Session::get('data');
return $this->makeView($data);
}
Leider vergisst Laravel diese Sitzungsdaten. Das habe ich schon oft gemacht und ich habe noch nie gesehen, dass nach einer einzigen Weiterleitung die Session-Flash-Daten vergessen wurden. Was geht hier vor sich? Ich habe versucht, "Web" Middleware hinzuzufügen und zu entfernen, aber nichts funktioniert. Wenn jemand weiß, warum das passiert, lass es mich wissen.
Ich habe ein ähnliches Problem ein paar Mal erlebt. Können Sie überprüfen, ob das Problem darin besteht, dass Sie bei jeder Anfrage eine neue Sitzung erhalten? In meinem Fall war das Problem mit Varnish verbunden. Varnish umging nicht einen Cookie zu ngnix, der jedes Mal zu einer neuen Sitzung wurde. In diesem Fall gibt es ein paar Workarounds: Optimieren Sie Ihr Lack-Setup oder fügen Sie einen speziellen Header hinzu, um den Lack dazu zu zwingen, Kekse zu umgehen. Hoffe es bringt etwas Licht. – jhmilan
Keiner der angezeigten Codes setzt Session- oder Flash-Daten. – patricus
Patricus - das ist eigentlich nicht wahr. Eine redirect() - Methode, die die with() -Methode verwendet, führt Flash-Daten aus. Siehe: https://laravel.com/docs/5.2/responses#redirecting-with-flashed-session-data –