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