如何解决如果$ _GET ['id']无效,则重定向到home.php的PHP
我正在尝试重定向用户,因此,如果他们在URL中输入无效的GET ['id'],他们将被重定向到主页。
注意:使用下面的代码,当GET为空时,它已经可以工作
} else if (empty($_GET['id'])) {
header("Location: home.php");
exit;
}
但是我的网址仅将整数作为“ id”:
website/edit.php?id=10
例如,如果用户输入字母,我想要的内容将重定向到首页
website/edit.php?id=g
这可能吗?感谢您的宝贵时间!
解决方法
如果用户未在网址中提交 id 参数,则empty($ _ GET ['id'])将返回 false ,因为找不到$ _GET [ 'id']并不是因为$ _GET ['id']为空。
如果要提高准确性,建议您使用 isset 功能而不是 empty 。在调试环境中,这也可以避免出现类似“ 注意:未定义的索引:abc.php中的id ”的提示。
} else if (isset($_GET['id']) && is_int($_GET['id'])) {
header("Location: home.php");
exit;
}
即使如此,如果可以确定生产环境中没有系统消息提示,则可以只使用is_int($ _ GET ['id'])。
} else if (is_int($_GET['id'])) {
header("Location: home.php");
exit;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。