2016-06-03 1 views
0

In letzter Zeit habe ich an einem Projekt in Laravel 5.2 gearbeitet und jetzt habe ich Probleme mit Sitzungen, die nicht bestehen. Ich habe die meisten der Fragen gelesen, die bereits zu diesem Thema gestellt wurden, aber alle haben die gleiche Antwort, die ich bereits versucht habe - Web-Middleware anwenden.Laravel 5.2 Sitzung nicht persistierend

Ich habe gelesen, dass es ein neues L5.2-Update gab, bei dem die Web-Middleware-Gruppe bereits standardmäßig verwendet wird. Ich habe meine Routen mit php artisan route:list überprüft und ich kann sehen, dass jede Route nur 1 Web-Middleware angewendet hat.

Ich erstelle eine Sitzung mit $request->session()->put('key', 'value'), aber sobald ich diese Zeile kommentieren, ist die Sitzung nirgendwo mehr zu sehen. sowie

bearbeiten

Ich möchte die Sitzung in einem Controller setzen, wenn ich eine News-Seite besuchen, aber ich versuchte es auf einem einfachen Teststrecke. Route, wo ich dies eingestellt ist news/{id} und ich möchte es auf der Titelseite, die in /

ist

Ich möchte kürzlich besuchte Seiten in Sitzung speichern, damit ich es dann dem Benutzer auf der Titelseite zeigen kann.

Sitzung Konfigurationsdatei ich unberührt gelassen. So ist es mit Dateitreiber

+1

Bitte geben Sie mehr Code ein. Zeigen Sie uns, wo Sie es einstellen, zeigen Sie uns, wo Sie es anfordern. Erzählen Sie uns mehr über Ihren Session-Treiber und was Sie insgesamt erreichen wollen –

Antwort

1

Hier eine getestete Routen für Ihre Projekte verwenden Bitte verwenden Sie eine Middleware statt der Funktion in die Wege

routes.php

// Only as a demo 
// Use a middleware instead 

function addToSession ($routeName) { 
    $visited = session()->get('visited', []); 
    array_push($visited, $routeName); 
    session()->put('visited', $visited); 
} 

Route::get('/', function() { 
    addToSession('/'); 
    return view('welcome'); 
}); 

Route::get('/second', function() { 
    addToSession('/second'); 
    return view('welcome'); 
}); 

Route::get('/third', function() { 
    addToSession('/third'); 
    return view('welcome'); 
}); 

Route::get('/history', function() { 
    return session()->get('visited'); 
}); 

Der/Geschichtenweg Datei gibt einen JSON mit dem Verlauf zurück.

+0

Danke, das war der Trick. Komische Sache ist, dass ich so zur Sitzung hinzugefügt habe und ich die Sitzung direkt nachdem ich sie angestoßen habe gedumpt habe. Aber mit Hilfe von/history habe ich gesehen, dass die Sitzung auf anderen Seiten eingestellt ist, was ich brauche. – Citrus