代码点火器

时间:2017-11-23 07:25:55

标签: php codeigniter flash-message

Flash消息会在打开另一个页面时持续显示我们完成该事件显示该事件消息

控制器

$this->session->set_flashdata('msg', '<div class="alert alert-danger  text-center"> Some error occured... Try Later!!!...</div>');
redirect('Admin/add_customer');

查看

<h4><?php echo $this->session->flashdata('msg');?></h4>

我们在此事件之后采取另一页同样的msg显示在该页面中,刷新两次或更多次将隐藏在新页面中, 有什么方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

您可以尝试输入正确的类型,并且我已在所有CI项目中使用该代码。

控制器:

if($query){
      $this->session->set_flashdata('success', 'Sucessful added store');
      redirect($this->redirect);
    }
    else{
      $this->session->set_flashdata('error', 'Something is wrong. Error!!');
       redirect($this->redirect);
    }

查看:

<?php if ($this->session->flashdata('success')) { ?>

        <div class="alert alert-success">
          <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
            <strong><?php echo $this->session->flashdata('success'); ?></strong>
        </div>

<?php } ?>

<?php if ($this->session->flashdata('error')) { ?>

        <div class="alert alert-danger">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
            <strong><?php echo $this->session->flashdata('error'); ?></strong>
        </div>

<?php } ?>

答案 1 :(得分:1)

通常,闪存数据仅可用于下一个服务器请求,然后自动清除。因此,如果您刷新页面并且s not cached, flash message should disappear.How ever if it不起作用,您可以清除与视图中的消息相关的会话数据(不鼓励)

<h4><?php echo $this->session->flashdata('msg');
unset($_SESSION['msg']);
?></h4>

答案 2 :(得分:0)

session-&gt; flashdata('success')){?&gt;
    <div class="alert alert-success">
      <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
        <strong><?php echo $this->session->flashdata('success'); ?></strong>
    </div>
session-&gt; flashdata('error')){?&gt;
    <div class="alert alert-danger">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
        <strong><?php echo $this->session->flashdata('error'); ?></strong>
    </div>