首页 > 解决方案 > session->getFlashData 在视图中显示不止一次

问题描述

我正在使用 codeigniter4 并使用以下代码

在控制器中 -

$this->session->setFlashdata('success','Your  Data is saved'); 
return view('dashboard');

在视图中

 <?php if (session()->get('success')): ?>
 <div class="alert alert-success" role="alert">
 <?= session()->getFlashdata('success'); ?>
 </div>
 <?php endif; ?>
 </div>   

根据代码点火器 4,此 flashdata 消息应清除。但 flashdata 也显示在第二页。然后它在第三页上清除。

标签: phpcodeignitercodeigniter-4

解决方案


CodeIgniter 支持“<a href="https://codeigniter4.github.io/userguide/libraries/sessions.html#flashdata" rel="nofollow noreferrer">flashdata”,或仅可用于下一个请求的会话数据,然后自动清除。

如果您在第一个请求中设置了 flashdata,它将可用于第二个请求,然后自动删除它。

您似乎在同一请求中设置和获取 flashdata。


推荐阅读