0

我正在尝试通过codeigniter中的删除按钮从我的数据库中删除一些数据......我做了一些研究并在我的视图中提出了这个链接......

<td><a href='hockey/deleteskater/" . $row->id . "'>Delete</a></td>

我的控制器中的这个功能

public function deleteskater($id){
        $this->load->database();
        $this->db->delete('skaters', array('id' => $id));
    }

但我得到一个 404 Not Found 页面......我做错了什么?

4

3 回答 3

4

那是因为:

  1. url 可能会被错误地插入(附加到当前 url 的所有段)
  2. 更重要的是:您没有打印出变量...只是 '$row->id' 作为字符串。那不是 php-html 插值

应该:

<td><a href="<?php echo site_url("hockey/deleteskater/" . $row->id);?>"
     onclick="return confirm('Delete content?');">Delete</a></td>

我冒昧地至少添加了一个 onclick 警报,这样您就不会因为误点击而无意中删除了某些内容。
此外,应通过 POST 请求(和 CSRF 令牌以提高安全性)执行破坏性操作。

于 2013-01-11T06:30:17.147 回答
1
<td><a href='hockey/deleteskater/" . $row->id . "'>Delete</a></td>

应该

<td><a href='hockey/deleteskater/<?php echo $row->id ?>'>Delete</a></td>
于 2013-01-11T06:37:56.883 回答
0

您可以使用默认的Codeigniter 锚点

<td><?php echo anchor("hockey/deleteskater/'. $row->id . '", "Delete"); ?></td>
于 2013-01-28T02:05:08.293 回答