ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-11 02:31:32  阅读:258  来源: 互联网

标签:laravel-5-3 php laravel session flash-message


经过研究后更新
经过一番研究,我得出的结论是,在我明确保存会话之前,不会维护我的会话,下面的代码很好用,但是为什么? Ref here

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

旧问题
我是laravel 5.3的新手,但遇到了问题.我的Laravel Session或Flash消息没有过期,它们在每次重新加载页面时都会显示,直到我使用Session :: flush()下面是我的控制器代码

<?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);
和刀片视图

@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之前就已经接近问题了,因为这个问题与我的问题完全相同,但是不幸的是它仍然存在,我已将会话存储从文件更改为数据库(以防文件对存储目录的权限).还有其他可能吗?

请帮助,在此先感谢.

解决方法:

最终,我设法以某种方式找到了解决问题的方法,而不是维持会议.我认为这与文件许可无关.现在,我将显式保存会话并将其显式删除.
制作了一个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');

并在刀片视图模板中

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

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

标签:laravel-5-3,php,laravel,session,flash-message
来源: https://codeday.me/bug/20191011/1889566.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有