我想知道哪种方法可以正确处理 CodeIgniter 中的错误,特别是 MVC 模式。我说的不仅仅是 sql 错误,而是说你有用户级别的访问控制系统,每个级别都可以访问网站的特定部分。
如果有人试图进入他级别的禁地怎么办?
或者如果您基于某些条件执行控制器并且这些条件不满足?
在不混淆浏览和使用应用程序的最终用户的情况下控制错误的最佳方法是什么?
我想知道你是怎么做到的。
当发生错误或其他情况时,您是否使用不同的视图和控制器?
我想知道哪种方法可以正确处理 CodeIgniter 中的错误,特别是 MVC 模式。我说的不仅仅是 sql 错误,而是说你有用户级别的访问控制系统,每个级别都可以访问网站的特定部分。
如果有人试图进入他级别的禁地怎么办?
或者如果您基于某些条件执行控制器并且这些条件不满足?
在不混淆浏览和使用应用程序的最终用户的情况下控制错误的最佳方法是什么?
我想知道你是怎么做到的。
当发生错误或其他情况时,您是否使用不同的视图和控制器?
您可以在数据库中指定用户的访问级别。如果用户试图访问禁止访问的地方,您可以在用户数据中存储一些错误,并在视图中显示它们(如果已设置)。
codeigniter 会话类文档:http ://ellislab.com/codeigniter/user-guide/libraries/sessions.html
你在问两个不同的事情。
第一:
但是,如果您有一个可以编辑某些内容的表单,但根据用户级别您无法编辑,该怎么办。
您可以实现这一点,但如果用户没有权限,则不显示表单中的字段或更新数据库。
if ($user_has_permissions)
{
echo form_input('field_name');
echo form_input('field_name');
}
并在更新行时
if ($user_has_permissions)
{
$this->db->set('db_field_name', $field_name);
}
如果您想在表单验证中显示错误消息,请使用回调(CodeIgniter 中的 callbaks)。检查用户是否有权限,如果没有则显示消息。
第二个
使用 die() 不是一种选择,我只是不想让我的整个应用程序崩溃
如果您不想在不使用 die() 的情况下停止执行,您可以使用其他一些“更友好”的形式来执行此操作:
show_404();
show_error();
show_error('Description of your error');
这将停止执行并显示带有错误描述的精美屏幕。