Laravel 快闪或 session 消息未过期 [未维护更新]
Laravel flash or session messages not expiring [ not maintained Updated ]
经过一些研究后更新
经过一些研究,我得出结论,我的 session 在我明确保存它们之前不会得到维护, 下面的代码运行良好,但是为什么???? 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);
和 blade 查看
@if(Session::has('user_message'))
<div class="message animated tada">
{{ Session::get('user_message') }}
</div>
@endif
我试过 Session::forget('user_message')
但没有成功。
经过一番研究后更新我的 post。 我已经有点接近我的问题了,因为这个问题与我的问题完全相同但不幸的是它仍然存在,我已经将我的 session 存储从文件更改为数据库(以防文件权限到存储目录)。还有什么可能?
请帮忙,提前致谢。
试试这个:
if(isset($_SESSION['user_message'])) {
$message = $_SESSION['user_message'];
unset($_SESSION['user_message']);
return $message;
}
在您的 (Laravel) blade 中,在 if 循环的末尾添加 $request->session()->forget('key');
或 Session::forget('key');
这将结束或删除 session钥匙。这可能有助于您获得更多关于 session of laravel 5.3 的参考,请访问 laravel 5.3
最终,不知何故,我设法找到了我的问题的解决方案,即无法维持 sessions。我不认为它有任何与文件许可相关的问题。现在我明确地保存我的 session 并明确地删除它。
制作了一个 Helper class 添加了两个方法
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();
}
并在控制器内 class
Helper::SetMessage('Record updated successfully', 'success');
并在 blade 内查看模板
@if(Session::has('user_message'))
<div class="alert alert-{{ Session::get('user_message_type') }}">
{{ Session::get('user_message') }}
{{ Helper::ForgetMessage('user_message') }}
</div>
@endif
我希望这对面临此类问题的人有所帮助。 但为什么会这样,现在还不得而知,也许有一天我也会post这个原因。如果可以用更好的方式完成,欢迎提出更多建议。
经过一些研究后更新
经过一些研究,我得出结论,我的 session 在我明确保存它们之前不会得到维护, 下面的代码运行良好,但是为什么???? 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);
和 blade 查看
@if(Session::has('user_message'))
<div class="message animated tada">
{{ Session::get('user_message') }}
</div>
@endif
我试过 Session::forget('user_message')
但没有成功。
经过一番研究后更新我的 post。
请帮忙,提前致谢。
试试这个:
if(isset($_SESSION['user_message'])) {
$message = $_SESSION['user_message'];
unset($_SESSION['user_message']);
return $message;
}
在您的 (Laravel) blade 中,在 if 循环的末尾添加 $request->session()->forget('key');
或 Session::forget('key');
这将结束或删除 session钥匙。这可能有助于您获得更多关于 session of laravel 5.3 的参考,请访问 laravel 5.3
最终,不知何故,我设法找到了我的问题的解决方案,即无法维持 sessions。我不认为它有任何与文件许可相关的问题。现在我明确地保存我的 session 并明确地删除它。 制作了一个 Helper class 添加了两个方法
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();
}
并在控制器内 class
Helper::SetMessage('Record updated successfully', 'success');
并在 blade 内查看模板
@if(Session::has('user_message'))
<div class="alert alert-{{ Session::get('user_message_type') }}">
{{ Session::get('user_message') }}
{{ Helper::ForgetMessage('user_message') }}
</div>
@endif
我希望这对面临此类问题的人有所帮助。 但为什么会这样,现在还不得而知,也许有一天我也会post这个原因。如果可以用更好的方式完成,欢迎提出更多建议。