Codeigniter 使用“代码点火器不工作”删除数据
我正在尝试按id删除数据,但不起作用。 我有一些这样的代码 控制器:Codeigniter 使用“代码点火器不工作”删除数据,codeigniter,Codeigniter,我正在尝试按id删除数据,但不起作用。 我有一些这样的代码 控制器: public function delete() { if (isset($_GET['del'])) { $ii = $this->input->post('id'); $this->P6_model->delete($ii); $this->load->view('p6home'); } } 型号: public func
public function delete()
{
if (isset($_GET['del'])) {
$ii = $this->input->post('id');
$this->P6_model->delete($ii);
$this->load->view('p6home');
}
}
型号:
public function delete($i)
{
return $this->db->delete('contacts', array('id' => $i));
}
路线:
$route['deldata'] = 'p6/delete';
视图:
foreach ($contacts as $data) {
?>
<tr>
<input type="hidden" name="id" value="<?=$data->id?>"/>
<td data-label="Name"><?=$data->name?></td>
<td data-label="address"><?=$data->address?></td>
<td data-label="phone"><?=$data->phone?></td>
<td>
<button class="positive ui button">Update</button>
<button class="negative ui button" onclick="return confirm('Are you sure?')" name="del" href="deldata">Delete</button>
</td>
</tr>
<?php
}
?>
foreach($contacts as$data){
?>
您必须声明了基本url,对吗?在链接中使用它来重定向页面。另外,在url本身中提供get参数。没有表单,POST将无法工作。这应该适合您。
查看:
<?php
foreach ($contacts as $data) {
?>
<tr>
<td data-label="Name"><?=$data->name?></td>
<td data-label="address"><?=$data->address?></td>
<td data-label="phone"><?=$data->phone?></td>
<td>
<button class="positive ui button">Update</button>
<button class="negative ui button" onclick="return confirm('Are you sure?')" name="del" href="<?php echo base_url('deldata')."/$data->id"; ?>">Delete</button>
</td>
</tr>
<?php
}
?>
永远不要对GET请求执行删除操作——这不是最佳做法。无论何时编写数据,都要通过$\u POST
传递数据。阅读时,要使用$\u GET
。虽然这个答案可能有效,但任何人都不应该使用。这是否回答了您的问题?
public function delete($id)
{
$this->P6_model->delete($id);
$this->load->view('p6home'); //instead of loading the view here, try redirecting to a controller function and load the view there.
}