美好的一天。我是CodeIgniter的新手,我试图使用flashdata来展示成功的"删除记录后的消息。我使用jQuery来显示我的数据。
以下是Model
页面的代码:
function delete_post($postID)
{
$this->db->where('post_id', $postID);
$this->db->delete('khanposts');
}
Controller
页码:
function deletepost($postID)
{
$this->khanpost->delete_post($postID);
$this->session->set_flashdata('msg', 'Record Deleted!');
redirect(base_url().'khanposts/index/');
}
View
页码:
foreach ($posts as $row){
echo '<tr><td><a href="' .base_url(). 'khanposts/deletepost/' .$row['post_id']. '"><i>Delete</i></a></td></tr>';
}
<script>
$(document).ready(function() {
$('.delmsg').hide();
<?php if($this->session->flashdata('msg')){ ?>
$('.delmsg').html('<?php echo $this->session->flashdata('msg'); ?>').show();
});
<?php } ?>
</script>
记录被删除但删除后我没有看到任何消息。我做错了吗?任何解决方案都会有帮助。 TNX。
答案 0 :(得分:0)
首先,但可能不会有所作为,但是,我已经在视图代码中颠倒了第2行到第3行和第3行到最后一行:
foreach ($posts as $row){
echo '<tr><td><a href="' .base_url(). 'khanposts/deletepost/' .$row['post_id']. '"><i>Delete</i></a></td></tr>';
}
<script>
$(document).ready(function() {
$('.delmsg').hide();
<?php if($this->session->flashdata('msg')){ ?>
$('.delmsg').html('<?php echo $this->session->flashdata('msg'); ?>').show();
<?php } ?>
});
</script>
我猜这似乎是加载会话库的问题。因此,通过添加&#39; session&#39;来检查您是否在application / config / autoload.php配置文件中加载了会话类。到$ autoload [&#39; libraries&#39;]数组:$autoload['libraries'] = array('session');
...或在控制器中使用$this->load->library('session')
。
如果它仍然不起作用,请确保您处于&#34;开发模式&#34;在根index.php文件中,您的开发案例如下所示:
case 'development':
error_reporting(E_ALL);
ini_set('display_errors', 1);
...看看PHP是否可以为您提供有关正在进行的更多信息。
祝你好运! : - )答案 1 :(得分:0)
您可以使用php而不是Jquery显示错误消息。你可以像这样使用
if($this->session->flashdata('msg'))
{?>
<div class="delmsg"><?php echo $this->session->flashdata("msg"); ?></div>
<?php }