php - Laravel Flash 或 session 消息不会过期 [未维护更新]

标签 php laravel session laravel-5.3 flash-message

经过一些研究后更新
经过一些研究,我得出结论,在我明确保存之前,我的 session 不会得到维护,下面的代码运行良好,但为什么???? Ref here

Session::put('lets_test', 2);
Session::save();

老问题
我是 laravel 5.3 的新手,遇到了一个问题。我的 Laravel session 或 Flash 消息不会过期,它们会在每次重新加载页面时显示,直到我使用 Session::flush() 下面是我的 Controller 代码

<?php

namespace App\Http\Controllers;


use Session;
use Auth;
use Illuminate\Http\Request;
use App\User;
use App\Hospital;
use App\Wpr;
use Helper;

class OperatorController extends Controller
{
    public $user_detail;

    public function __construct()
    {
        $this->middleware('auth');
        $this->middleware('operator');
    }
    public function store (Request $request){ //Form is being submitted here
        //My logic here
        Session::flash('user_message', 'Thank You');
        return redirect('/operator/wpr');
    }
}

我还使用了 Session::set('user_message', 4); 和 Blade View

@if(Session::has('user_message'))
    <div class="message  animated tada">
        {{ Session::get('user_message') }}
    </div>
@endif

我试过 Session::forget('user_message') 但没有成功。 经过一些研究后更新我的帖子。 reading this post on stack 我已经接近我的问题了因为这个问题与我的问题完全相同但不幸的是它仍然存在,我已经将我的 session 存储从文件更改为数据库(以防文件权限对存储目录)。还有什么可能?

请帮助,在此先感谢。

最佳答案

最终,不知何故,我设法找到了解决我的问题的方法,即不维持 session 。我不认为它有任何与文件许可相关的问题。现在我明确地保存我的 session 并明确地删除它。 制作了一个 Helper 类添加了两个方法

public static function SetMessage($message, $type){ 
   Session::put('user_message', $message);
   Session::put('user_message_type', $type);
   Session::save();
}
public static function ForgetMessage(){ 
   Session::forget('user_message');
   Session::forget('user_message_type');
   Session::save();
}

在 Controller 类中

 Helper::SetMessage('Record updated successfully', 'success');

在 Blade View 模板中

@if(Session::has('user_message'))
    <div class="alert alert-{{ Session::get('user_message_type') }}">
     {{ Session::get('user_message') }}
     {{ Helper::ForgetMessage('user_message') }}
    </div>
@endif

我希望这可以帮助面临此类问题的人。 但为什么会这样,仍然未知,也许有一天我也会发布原因。如果可以以更好的方式完成,欢迎提出更多建议。

关于php - Laravel Flash 或 session 消息不会过期 [未维护更新],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41690759/

相关文章:

PHP:gettext 是否需要 LC_MESSAGES 目录?

php - 无法让 JQUERY .autocomplete 与 .attr 一起工作

php - 为什么在 PHP 中使用 "use"关键字来导入核心标识符?

javascript - getstream.io 获取 CORS 请求被拒绝 : https://api. stream-io-api.com/api/v1.0/feed/user

php - 从 docker nginx/php-fpm 安装在本地卷(Mac)上的 Laravel 无法写入 session 文件

java - 在 Spring 。不同的 session bean 数据在浏览器选项卡之间共享。如何阻止这种情况?

php - 为什么这个 PHP 正则表达式不匹配重音字符?

php - Laravel: Eloquent all() 不返回对象数组

php - Laravel 中的 "Use of undefined constant..."错误

c# - asp.net 设置 Session 变量并执行一个 javascript 函数