php - CakePHP:检查是否设置了 SPECIFIC flash 消息

标签 php session cakephp cakephp-2.0

我有一个包含多个部分的页面,其中包含从同一页面提交的表单。表单会折叠以节省空间,但如果提交时出现错误,我想有条件地让它们保持打开状态。

在我的 Controller 中,我为每个表单设置了一个特定的“键”(参见下面的 location_key),这允许我在它们各自的位置回显它们:

在 Controller 中:

$this->Session->setFlash('You missed something...', 'element_name', array('class'=>'error'), 'location_key');

在 View 中:

$this->Session->flash('location_key')

我想知道如何检查 $this->Session->flash('location_key') 是否存在。如果我这样做,它会起作用,但会取消设置闪现消息:

if ( $this->Session->flash('location_key') ) // = TRUE
    //Do something
$this->Session->flash('location_key') // = FALSE (because it just got called)

如何在不让它消失的情况下测试这条闪现消息是否存在?

最佳答案

想通了!这有效:

$this->Session->check('Message.location_key')

它根据是否设置了任何此类闪现消息返回真/假。 ->read() 做同样的事情,但返回闪存数据(如果有的话)(任何重要的是,它离开 session var,因此它仍然可以在以后回显)。

关于php - CakePHP:检查是否设置了 SPECIFIC flash 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20379785/

相关文章:

ruby-on-rails - rails : Moving from Active Record Session Store to a Redis Store

c# - ASP.NET Web 应用程序 session 问题

wordpress - 在子目录中设置 CakePHP; WordPress 安装在根目录下

php - 蛋糕烘焙模型生成(hasOne 与 hasMany)

javascript - jQuery UI : "Uncaught Syntax Error: Unexpected token <" in one environment, 但不是另一个

javascript - 在不刷新页面的情况下提交 php 表单

php - mySQL - 如何集成此 "last 3 days only"查询

php - 跟踪多个月的播放次数

PHP MySQL 查询

javascript - Nodejs Express3 使用 session 检查用户是否登录