这是一段php代码
if(isset($_GET['id'])) {
//do something
} else {
redirect('index.php'); //redirect is a function
}
现在,如果设置了 id(例如:index.php?id=12),则执行操作,但如果未设置 id(例如:index.php?id=),则会显示错误,如何克服这个问题...? ?
如何判断id是否为整数且不为空,然后执行具体的操作....
Edited
谢谢大家的回答,但我仍然收到该错误......
if(isset($_GET['id'])) { // I implemented all these codes but still....
$user= User::find_by_id($_GET['id']);
// Database Classes Fetches user info from database
}
else {
redirect('index.php'); //redirect function
}
如果 id 为 1 或大于 1,则脚本可以完美执行。 (index.php?id=1)
但 id 我将 id 设置为注意到我收到错误,即 index.php?id=
该代码应该自动将用户重定向到index.php页面而不是显示错误......
错误:数据库查询失败:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“LIMIT 1”附近使用的正确语法
您应该检查设置状态和内容:
if ( isset( $_GET['id'] ) && !empty( $_GET['id'] ) )
// ....
请注意,您应该not简单地使用该值并使用它。您应该确保它只包含您期望的值。要检查整数,甚至更好地从此开始使用整数,请执行以下操作:
$id = ( isset( $_GET['id'] ) && is_numeric( $_GET['id'] ) ) ? intval( $_GET['id'] ) : 0;
if ( $id != 0 )
// id is an int != 0
else
redirect('index.php');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)