Codeigniter 使用“代码点火器不工作”删除数据

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

我正在尝试按id删除数据,但不起作用。 我有一些这样的代码

控制器:

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.
}