CodeIgniter Flash数据

Tom*_*Tom 16 php session post codeigniter

我正在努力使用CodeIgniter中的Flash Data.

我基本上想要:

将类别添加到数据库重定向用户返回到页面显示成功弹出消息"您的类别已创建"

到目前为止,我可以成功地将类别添加到数据库并正确验证用户输入,唯一的事情是我不知道如何创建弹出成功消息.(我不想加载成功视图),只需重定向回到他们来自的地方,并在顶角或其他地方显示小消息.

闪存数据是正确的方法吗?

Mud*_*ark 41

在你的控制器中:

//add to db
// load session library if not auto-loaded
$this->session->set_flashdata('msg', 'Category added');
redirect('controller/method');
Run Code Online (Sandbox Code Playgroud)

在视图中:

<script>
// assumes you're using jQuery
$(document).ready(function() {
$('.confirm-div').hide();
<?php if($this->session->flashdata('msg')){ ?>
$('.confirm-div').html('<?php echo $this->session->flashdata('msg'); ?>').show();
<?php } ?>
});
</script>
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以执行不同的会话消息,具体取决于您传递给控制器​​的内容。注意,我正在使用Bootstrap作为CSS主干。

看来,

对于成功案例,

<?php if ($this->session->flashdata('category_success')) { ?>
        <div class="alert alert-success"> <?= $this->session->flashdata('category_success') ?> </div>
    <?php } ?>
Run Code Online (Sandbox Code Playgroud)

对于错误情况,

<?php if ($this->session->flashdata('category_error')) { ?>
    <div class="alert alert-danger"> <?= $this->session->flashdata('category_error') ?> </div>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

在控制器中

对于成功案例,

$this->session->set_flashdata('category_success', 'Success message.');
redirect("To your view");
Run Code Online (Sandbox Code Playgroud)

对于错误情况,

$this->session->set_flashdata('category_error', 'Error message.');
redirect("To your view");
Run Code Online (Sandbox Code Playgroud)

有关更多参考,请访问:http : //www.codeigniter.com/userguide2/libraries/sessions.html