我对查询字符串
有疑问我有页面,我通过这样的查询字符串
abc.php?id=12
有些时候查询sting“id”没有像
那样传递 abc.php
并且id的某个时间值为空
abc.php?id=
并且在上面2个可能性页面中给出错误。
如何解决这个问题?
答案 0 :(得分:2)
在尝试对它做任何事情之前,检查是否设置了$ _GET ['id'](使用isset())。
答案 1 :(得分:2)
如果使用isset()
和empty()
正确检查,则应该可以避免任何问题。
答案 2 :(得分:0)
使用isset()语言结构应用检查会产生错误,并允许您访问可能不存在的数组键。这是一个透明存在值的小函数。
$myID = getInput('id'); // Returns 'null' if ID doesn't exist but throws no PHP errors
$myID = getInput('id', 50); // Returns 50 if your ID doesn't exist
通过此操作,您可以执行验证检查以确保您拥有ID
if( ($myID = getInput('id', 0)) < 1) {
die('Invalid ID Value');
}
die("My ID is: $myID");
function getInput($key, $default = null) {
return isset($_GET[$key]) && $_GET[$key] != null ? $_GET[$key] : $default;
}
答案 3 :(得分:0)
在使用之前,您应该始终验证传入的数据。在这种情况下,使用isset
来测试变量是否存在并且具有 null 以外的值,并使用ctype_digit
检查该值是否仅包含数字字符。
答案 4 :(得分:-1)
检查以下条件
if($_GET['id'] == '') {
// Your Condition Here
} else if($_GET['id'] != '') {
// Your Condition Here
} else if(isset($_GET['id'])) {
// Your Condition Here
}
希望这有助于。