Codeigniter无法删除记录

时间:2016-01-22 03:48:29

标签: php codeigniter

我试图在我的网站上使用codeigniter,我不知道为什么但我无法从我的数据库中删除用户,我想我的代码犯了错误,但我找不到它。你能看看并帮我解决这个问题。 这是我的控制器代码:

    function user_delete($id_user){
    $this->load->model('membership_model');
    if ($this->membership_model->isAdmin())
    {
        $this->membership_model->deleteUser();
        redirect('/site/admins_area');
    }else
        $this->load->view('not_logged_in_view');
}

这是我的型号代码:

function deleteUser(){
    $this->db->where('id_user', $this->uri->segment(3));
    $this->db->delete('user');
}

在我的视图代码中,当管理员点击删除时,它会引导他们到控制器,如下所示:

<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#myModal">Delete</button></center>
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
    <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal">&times;</button>
      <h4 class="modal-title">Modal Header</h4>
    </div>
<div class="modal-body">
      <p>Do you want to delete it?</p>
    </div>
    <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      <a href="<?php echo base_url();?>site/user_delete" class="btn btn-danger btn-sm" role="button">Delete</a>
    </div>
  </div>

</div>

你能帮忙吗?

3 个答案:

答案 0 :(得分:0)

我认为您的链接存在问题

 <a href="<?php echo base_url();?>site/user_delete" class="btn btn-danger btn-sm" role="button">Delete</a>

使用这个:

<a href="<?php echo base_url('site/user_delete');?>" class="btn btn-danger btn-sm" role="button">Delete</a>

如果错误仍然存​​在。请提供错误。

答案 1 :(得分:0)

您的控制器

$this->membership_model->deleteUser($id_user);

在您的模型上

function deleteUser($id_user){
   $this->db->where('id_user', $id_user);
    $this->db->delete('user');
}

答案 2 :(得分:0)

您的代码正常运行,可能就是您没有正确链接您的路由。您正尝试在网段上删除,没有第3段作为ID。

为了获得此查询的正确网址,您的网址应如下所示:

 echo base_url('site/user_delete/'.$user_id);

假设您已经知道如何将变量解析为视图,这不应该是困难的。另请注意,您需要更改当前的路线,如下所示:

 $route['site/user_delete']  = "controllername/function";

  $route['site/user_delete/(:num)' = "controllername/function/$1";

这将允许通过URL发送参数。除此之外,您还需要更改模型以及接受参数而不是直接段。