0

codeigniter を使用して、ページを終了するためのコントローラーがあります。ユーザーが URL site.com/example/copy、site.com/example/revise にアクセスできるようにしたいのですが、同じページが毎回別の変数を渡して読み込まれます。

class example extends Secure_Controller {

    public function revise()
    {
        $id = $_GET["id"];
        $show_for_edit("revise", $id);
    }

    public function copy()
    {
        $id = $_GET["id"];
        $show_for_edit("copy", $id);
    }

    public function show_for_edit($edit_type, $id)
    {
        //A lot of database queries that I don't
        //want duplicated under revise() and copy()
        $data["id"] = $id;
        $data["edit"] = $edit_type;
        $this->load->view('model', $data);
    }
}

しかし、私はエラーを受け取ります:

致命的なエラー: 未定義関数 show_for_edit() の呼び出し

何か案は?

4

1 に答える 1

2

PHP では、このエラーは、メソッドを呼び出すオブジェクトに参照がない場合、つまり null の場合に発生します。

あなたの場合、メソッド「show_for_edit」を呼び出すオブジェクトはnullであるため、その間違いのようです。

このメソッドを呼び出す変数を調べて、それが null ではなく、"example" クラスのインスタンスであることを確認してください。

さらに、これらの呼び出し$show_for_edit ("check", $id)$show_for_edit ("copy", $id)が正しいかどうかはわかりません。私は彼らがそうであるべきだと思います:

$this-> show_for_edit ("check", $ id);

$this-> show_for_edit ("copy", $ id);
于 2013-02-18T17:10:12.403 に答える