我正在使用CodeIgniter并希望加载一个视图,例如:
$this->load->view('image/delete/' . $_POST['id'], $data);
$ _POST ['id']是我''image'控制器内“删除”功能的必需参数。我本以为这会工作正常,但我收到一个CI错误说明:
“无法加载请求的文件:image / delete / 113.php”
我不明白为什么CI会在此末尾添加“.php”,难怪它无法找到此文件。我做错了什么?
答案 0 :(得分:1)
除非您使用,否则无需指定.php文件扩展名 除了.php之外的东西。
“图像”控制器中的代码:
public function delete($parameter=false)
{
some_delete_function($parameter);
//and load view
}
答案 1 :(得分:1)
除了伊万的答案之外,你要做的是违反MVC原则:分离关注点。
视图应该只显示数据,它们不应该获得删除资源等功能。
您需要使用URL helper class中的redirect()
功能将浏览器重定向到"image/delete/".$image_id
然后,正如Ivan建议的那样,您需要一个Image
控制器,其delete($id)
功能。此功能将删除您的图像,然后加载视图以指示资源已被删除。
答案 2 :(得分:0)
看起来您正在尝试使用视图加载URL / image / delete / 113。但它正在尝试从硬盘加载view~application / views / images / delete / 113。
我建议只删除你代码中的图像,如果它是复杂的,可以创建一个库,如果不是,可以创建一个帮助,并从控制器那里调用它。