Skip to content
Advertisement

laravel’s Session flush and forget methods not working as expected

I tried to delete a value from my session using :

Session::forget('value')

but it didn’t delete!

However, when i tried using save method like so :

 Session::forget('value')
 Session::save()

it worked! (I.e. the value was deleted from the session.)

Please – what am I doing wrong? I don’t see the save method in the Laravel documentation when using Session::flush() and Session::forget().

Advertisement

Answer

The save() method will actaully perform the write to the file.

It seems that your application doesn’t call Session::save() before it outputs content to the user on all requests.

If this method isn’t called, the Session file will not get updated with the new values, and they will still be there on the next visit.

It’s important to always call Session::save() if you wish to be sure stuff got removed or added and the change persists.

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement