我试图在我的网站上使用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">×</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>
你能帮忙吗?
答案 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发送参数。除此之外,您还需要更改模型以及接受参数而不是直接段。