2016-06-17 10 views
0

Ich habe ein Problem in Bezug auf Sitzungen in Laravel. Ich versuche, die Seite und die gleichzeitig zu umleiten Senden einige Session-Variablen mit der with() Methode:Verpasste Sitzungsvariablen beim Umleiten der Seite

return Redirect::To('/')->with('foo','bar'); 

Aber wenn die Seite kommt, die einzigen Session-Variablen gesetzt sind _token und locale, ‚foo‘ und ‚bar ' erscheint nicht. Laufen {!! var_dump(Session::all()); !!} gibt:

array(2) { ["_token"]=> string(40) "l5NawtJdHJtanTErsya440UvPQIgqNExiryJIkIO" ["locale"]=> string(2) "se" } 

die Session gespeichert in storage/framework/sessions seltsam hat andere Variablen gesetzt, wie url und PHPDEBUGBAR_STACK_DATA die oben nicht zeigen, wenn sie umgeleitet werden.

Jetzt, hier ist der wahre Dreh: Es funktioniert perfekt, wenn auf einem anderen Computer ausgeführt wird.

Wir haben mit demselben Repository, demselben Code, einer neuen Installation von Laravel, demselben Webbrowser, demselben Betriebssystem (Mac) und demselben Programm zum lokalen Ausführen des Servers (MAMP) getestet. Auf einem anderen Computer funktioniert es gut und auf einem dritten Computer, aber nicht auf meinem.

Die Anwendung ist im Debug-Modus und ich habe versucht, alle Caches in Laravel zu löschen und im Browser nichts geändert.

Hat jemand eine Ahnung, wie das gelöst werden kann?

Antwort

0

Offenbar in config/session.php die Variable domain wurde die Produktionsdomäne gesetzt. Bei Verwendung von localhost auf meinem Computer konnte der Cookie laravel_session nicht gelesen oder geschrieben werden.

Es funktionierte unter Verwendung:

'domain' => null,

0

with() Methode verwendet, um Daten an eine Ansicht zu übergeben. Wenn Sie etwas Sitzung Verwendung session()->flash->('foo', 'bar'); hinzufügen möchten (automatisch nach nächster Anforderung löschen) oder session()->put('foo', 'bar');

+0

ich die Methode put() zu verwenden, haben versucht, aber das auch nicht zu funktionieren scheint. Ich denke eher, dass etwas mit dem Setup nicht stimmt. Aber danke für den Tipp! –

+0

Was ist die Ausgabe dieser 'session() -> put ('foo', 'bar'); dd (session() -> hat ('foo')); ' –

+0

Es sagt" wahr ". –