【问题标题】:Codeigniter deleteCodeigniter 删除
【发布时间】:2012-12-25 17:03:14
【问题描述】:

我正在尝试通过 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 页面...我做错了什么?

【问题讨论】:

  • 发布您的控制器代码和您尝试过的网址的详细信息。

标签: php codeigniter http-status-code-404 codeigniter-url


【解决方案1】:

那是因为:

  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 令牌)进行。

【讨论】:

    【解决方案2】:
    <td><a href='hockey/deleteskater/" . $row->id . "'>Delete</a></td>
    

    应该是

    <td><a href='hockey/deleteskater/<?php echo $row->id ?>'>Delete</a></td>
    

    【讨论】:

      【解决方案3】:

      您可以使用默认的Codeigniter anchor

      <td><?php echo anchor("hockey/deleteskater/'. $row->id . '", "Delete"); ?></td>
      

      【讨论】:

        猜你喜欢
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 2016-07-26
        • 2012-10-30
        • 2019-04-06
        • 2019-08-03
        • 2017-04-04
        相关资源
        最近更新 更多