codeigniter - 处理无效参数的最佳实践 CodeIgniter

标签 codeigniter error-handling

假设我在 Controller 中有一个名为

的方法
book($chapter,$page);

其中 $chapter 和 $page 必须是整数。要访问该方法,URI 将如下所示

book/chapter/page

例如,

book/1/1

如果用户尝试在不传递所有参数或错误参数的情况下访问 URI,例如

book/1/

或者 书/abcxyz/1

我可以做一些 if else 语句来处理,比如

if(!empty($page)){
   //process
}else{
   //redirect
}

我的问题是,是否有任何最佳实践来处理用户传递的那些无效参数? 我的最终目标是在出现无效参数时重定向到主页?我怎样才能做到这一点?

最佳答案

config/routes.php 中使用 CodeIgniter 路由在这里非常有用,像这样:

$route['book/(:num)/(:num)'] = "book/$1/$2";
$route['book/(:any)'] = "error";
$route['book'] = "error";

应该捕获一切。您几乎可以在路由中使用任何正则表达式,因此可以验证参数是否为数字、是否以小写字母开头等。

关于codeigniter - 处理无效参数的最佳实践 CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123090/

相关文章:

php - 通过codeigniter将数据从android发布到mysql

javascript - 如何在 node.js 中使用堆栈跟踪记录错误?

error-handling - node.js 中无法捕获的错误

php - die()的正确使用?

web-services - API设计: How should distinct classes of errors be handled from an asynchronous XMLHTTP call?

php - 如何在.htaccess文件中添加错误页面

php - 维护 PHP 应用程序的历史表

javascript - 调用 Controller 并通过 onclick 监听器传递值

php - .htaccess 狂欢

php - MySQL - 创建一个 SQL 算法来确定随机 'popular' 内容