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 中,当调用该方法的对象没有引用,即它为空时,会发生此错误。

在您的情况下,调用方法“show_for_edit”的对象为空,因此出现了该错误。

检查调用此方法的变量并确保它不为 null 并且是“示例”类的实例。

$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 回答