如果set_flashdata不为空,CodeIgniter会自动显示模态

时间:2016-01-24 16:46:12

标签: php codeigniter

我需要你的帮助。我有一个编辑表单,在成功编辑记录后,它将重定向到另一个页面并自动显示模式,并从set_flashdata传递消息。

这是我到目前为止所尝试的:

查看

 <button type="button" class="btn btn-primary btn-success" data-toggle="modal" data-target="#modalSuccess">
                                        Modal Success
                                    </button>

                                    <div class="modal fade modal-success" id="modalSuccess" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                                        <div class="modal-dialog">
                                            <div class="modal-content">
                                                <div class="modal-header">
                                                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                                    <h4 class="modal-title" id="myModalLabel">Modal Success</h4>
                                                </div>
                                                <div class="modal-body">
                                                    <?php echo $message;?>
                                                </div>
                                                <div class="modal-footer">
                                                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                                    <button type="button" class="btn btn-success">OK</button>
                                                </div>
                                            </div>
                                        </div>
                                    </div>

控制器:

 // check to see if we are updating the user
            if($this->ion_auth->update($user->id, $data))
            {
                // redirect them back to the admin page if admin, or to the base url if non admin
                $this->session->set_flashdata('message', $this->ion_auth->messages() );
                if ($this->ion_auth->is_admin())
                {
                    redirect('auth/profile/', 'refresh');
                }
                else
                {
                    redirect('auth/profile/, 'refresh');
                }

            }

我不知道如何从set_flashdata接收消息后自动触发模态。有任何想法吗?我很乐意欣赏它。谢谢!

2 个答案:

答案 0 :(得分:0)

Codeigniter会话集闪存数据仅在重定向时才有效。

目前,您已将重定向的闪存数据设置为

因为你正在使用刷新并重定向它,它将清除它。

if($this->ion_auth->update($user->id, $data)) {

// redirect them back to the admin page if admin, or to the base url if non admin


if ($this->ion_auth->is_admin()) {

    $this->session->set_flashdata('message', $this->ion_auth->messages());
    redirect('auth/profile');

} else {

    $this->session->set_flashdata('message', $this->ion_auth->messages());
    redirect('auth/profile');
}


}

查看回显flashdata

<?php echo $this->session->flashdata('message');?>

答案 1 :(得分:0)

在您的视图文件中,您应该输入:

<?php if ($this->session->flashdata('message')):?>
<script>
    $('#modalSuccess').modal('show');
</script>
<?php endif;?>

确保您之前已加载jQuery.jsbootstrap.js