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 に答える