【问题标题】:Lravel 5.2 session::forget() and session::flush() not workingLaravel 5.2 session::forget() 和 session::flush() 不工作
【发布时间】:2016-07-15 13:34:33
【问题描述】:

我刚刚在我的 Laravel 5.2 应用程序中创建了一个子身份验证中间件,它使用 Laravel 会话来存储数据。

我可以将我的数据放到 Laravel 会话中 但是,当我想删除该变量表单会话时,它仅在页面重定向或有人重新加载该变量仍然存在的页面时适用于该请求。

在我的控制器文件中

 class SubmissionController extends Controller
{
public function login(Request $request){
    if($request->session()->has('submission')) return redirect('/submission-directory');

    return view('submission.login');
}

public function dologin(Request $request){
    if(!$request->get('password') == "reader") return redirect('/submission-directory/login')->withErrors('errors.wrong-password');

    Session::put('submission','yes');

    $redirect = $request->session()->pull('submission_redirect','/submission-directory');
    return redirect($redirect);
}

public function index(Request $request){

    dump($request->session()->all());

    $request->session()->forget('submission');

    dump($request->session()->all());

    die('coming here');
}
}

但是当我重新加载页面时你可以会话仍然存在..

注意 :: 我已经把所有的路由都放到了 web 中间件组中

Route.php

   Route::group(['middleware' => 'web'], function () {
     Route::group(['prefix'=>'/submission-directory'],function(){
      Route::get('/login','submissionController@login');

      Route::post('/login',['as'=>'submission.login','uses'=>'SubmissionController@doLogin']);

      Route::group(['middleware'=>'submission'],function(){
       Route::get('/','SubmissionController@index');
      });
    });

【问题讨论】:

    标签: laravel-5.2


    【解决方案1】:

    试试这个

    输入控制器:

    use Session;
    
    public function index(Request $request)
    {
    dump(Session::all());
    Session::forget('submission');
    print_r((Session::all());
    die;
    }
    

    【讨论】:

    • 感谢您的方法,但我已经尝试过,发现它也不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2021-07-11
    • 1970-01-01
    • 2017-02-17
    • 2017-06-08
    • 2018-08-29
    • 2013-12-30
    相关资源
    最近更新 更多