我正在做一个分页脚本,我想让用户能够控制在一个页面中显示多少结果。我通过使用GET变量来实现这一点,如:example.org/articles.php?count=10
。唯一的问题是GET变量必须是整数,否则代码会抛出随机错误,其中一些包含用户不应该看到的信息。
这是我的代码:
// Checks if there is a GET variable (this part works fine)
if (isset($_GET["count"])) {
if (!empty($_GET["count"])) {
$page_rows = $_GET["count"];
} else {
$page_rows = $page_rows_default;
}
} else {
$page_rows = $page_rows_default;
}
// checks if the GET variable is an interger
// if not, the offending value is replaced with 0
// (it doesn't work)
if(is_int($page_rows) == false) {
$page_rows = 0;
}
从我的实验中,我的代码可以容忍零和负整数,但在给出像?count=asdf
这样的东西时却很难。我大多不希望用户通过将随机文本注入GET变量来使脚本崩溃。如何让脚本自动检测非整数值,以便处理它们而不是简单地停止代码?
答案 0 :(得分:2)
您可以使用@Aspect
@Component
public class SampleAspect {
// Apply to all repositories in package repositories
@After("execution(* repositories.*.delete(*)) && target(repository) && args(id)")
public void afterEntityDelete(CrudRepository repository, Object id) {
...
}
}
。
供参考http://php.net/manual/en/function.is-numeric.php
答案 1 :(得分:2)
is_numeric()可以为你完成这个技巧
if(is_numeric($page_rows))
{
//your condition
}
else
{
//another condition
}