刷新后 Codeigniter 设置的闪存数据不会清除
Codeigniter setflash data wont clear after refresh
大家好,知道如何清除 setflashdata?
我是 codeigniter Framework 的新手。
这是我的控制器视图,具有提交功能和页面添加视图的视图
控制器:-
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>
在你的视图中使用这个:-
<?php
if($this->session->flashdata('success')){
?>
<div class="alert alert-success" style="display:none;">
<?php echo $this->session->flashdata('success'); ?>
<?php
} else if($this->session->flashdata('error')){
?>
<div class = "alert alert-danger" style="display:none;">
<?php echo $this->session->flashdata('error'); ?>
</div>
<?php } ?>
把这个放在你的前面 </body>
标签视图:-
<script type="text/javascript" src="<?=base_url()?>assets/js/jquery.min.js" ></script>
<script type="text/javascript" rel="stylesheet">
$('document').ready(function(){
$(".alert").fadeIn(1000).fadeOut(5000);
});
</script>
这是一个 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' );
}
?>
大家好,知道如何清除 setflashdata?
我是 codeigniter Framework 的新手。
这是我的控制器视图,具有提交功能和页面添加视图的视图
控制器:-
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>
在你的视图中使用这个:-
<?php
if($this->session->flashdata('success')){
?>
<div class="alert alert-success" style="display:none;">
<?php echo $this->session->flashdata('success'); ?>
<?php
} else if($this->session->flashdata('error')){
?>
<div class = "alert alert-danger" style="display:none;">
<?php echo $this->session->flashdata('error'); ?>
</div>
<?php } ?>
把这个放在你的前面 </body>
标签视图:-
<script type="text/javascript" src="<?=base_url()?>assets/js/jquery.min.js" ></script>
<script type="text/javascript" rel="stylesheet">
$('document').ready(function(){
$(".alert").fadeIn(1000).fadeOut(5000);
});
</script>
这是一个 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' );
}
?>