【问题标题】:how to check session flashdata in helper in CI如何在 CI 的助手中检查会话闪存数据
【发布时间】:2015-02-03 20:47:54
【问题描述】:

为了检查和显示会话,我通常这样做:

        $alert = $this->session->flashdata('alert');

        if($alert)
        {
            ?>
            <div class="alert alert-info alert-dismissible" role="alert">
                <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                <?php echo $var; ?>
            </div> <?php
        }

但结果很草率。我想制作一个函数的“ECHO”,该函数包含检查和显示会话所需的一切。所以我尝试在表单助手中做到这一点:

function errors_session()
{
   $ci =& get_instance();

   if( $this->ci->session->flashdata() == TRUE )
   {
      return '<div class="error">'. $this->ci->session->flashdata() .'</div>';
   }

   return '';
}

但这不起作用

【问题讨论】:

  • 你的代码有什么问题?你的函数在哪里定义?你的函数调用是什么样的?
  • 您好,我尝试打印函数“errors_session()”以显示带有 Flashdata 会话的消息。问题是在视图中我收到以下错误“致命错误:不在对象上下文中使用 $ this”
  • 在下面回答。这是一个很好的问题,您应该编辑以添加您遇到的错误,因为我认为这是一个常见问题

标签: php codeigniter session


【解决方案1】:

在控制器文件中:

$this->session->set_flashdata('Success', 'You are Successfully Logged.'); 

在查看文件中:

 if($this->session->flashdata('Success')){
  //your content
}

echo $this->session->flashdata('Success');

【讨论】:

    【解决方案2】:

    啊应该已经发现了。正如错误所说 - 您不能使用 $this 您需要更改以使用您创建的 $ci 对象这样

    $ci->session->flashdata()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 1970-01-01
      • 2011-02-18
      相关资源
      最近更新 更多