首页 > 解决方案 > Codeigniter setflash 数据刷新后不会清除

问题描述

在此处输入图像描述

大家好,每个人都知道如何setflashdata?在 codeigniter 框架中清除我刚刚更新的 im。

这是我的控制器视图,具有提交功能和页面添加视图的视图

控制器:-

 public function add(){
            $this->load->view('layout/header');
            $this->load->view('blog/add');
            $this->load->view('layout/footer');
        }
    
        public function submit(){
            $result = $this->m->submit();
            if($result){
                $this->session->set_flashdata('success_msg', 'Record added successfully');
            }else{
                $this->session->set_flashdata('error_msg', 'Faill to add record');
            }
            redirect(base_url('blog/index'));
        }

这是数据表和添加记录按钮的视图 html 页面。

 <h3>Blog list</h3>
    
        <?php
            if($this->session->flashdata('success_msg')){
        ?>
            <div class="alert alert-success alert-status">
                <?php echo $this->session->flashdata('success_msg'); ?>
            </div>
        <?php       
            }
        ?>
    
    
        <?php
            if($this->session->flashdata('error_msg')){
        ?>
            <div class="alert alert-success">
                <?php echo $this->session->flashdata('error_msg'); ?>
            </div>
        <?php       
            }
        ?>

//这是具有添加功能的按钮。

<a href="<?php echo base_url('blog/add'); ?>" class="btn btn-primary">Add New</a>

这是数据表视图

<table class="table table-bordered table-responsive">
                <thead>
                    <tr>
                        <td>ID</td>
                        <th>Title</th>
                        <th>Description</th>
                        <th>Created at</th>
                        <th>Action</th>
                    </tr>
                </thead>
                <tbody>

/此函数将获取来自您的数据库的数据。

<?php 
                    if($blogs){
                        foreach($blogs as $blog){
                ?>
                    <tr>
                        <td><?php echo $blog->id; ?></td>
                        <td><?php echo $blog->title; ?></td>
                        <td><?php echo $blog->description; ?></td
                    </tr>
                <?php
                        }
                    }
                ?>
                </tbody>
            </table>

标签: phpcodeignitermodel-view-controllerflash-messagecodeigniter-query-builder

解决方案


这是一个 CodeIgniter 问题。

对于您的问题解决方案,请使用以下视图

看法:

<?php
if ($this->session->flashdata ( 'success' )) {
    ?>
    <div class="alert alert-success"> 
    <?php  echo $this->session->flashdata('success'); ?>
    <?php
    $this->session->unset_userdata ( 'success' );
} else if ($this->session->flashdata ( 'error' )) {
    ?>
    <div class="alert alert-danger">
    <?php echo $this->session->flashdata('error'); ?>
    </div>
    <?php
    $this->session->unset_userdata ( 'error' );
}
?>

推荐阅读