提问人:Arjun Bajaj 提问时间:3/22/2011 更新时间:3/22/2011 访问量:230
如何查看天气是否收到 _GET 美元?(菲律宾比索)
How to check weather the $_GET is being received or not? (PHP)
问:
我在页面上有一个表格。它有太多的东西,比如复选框、文本字段和下拉列表。 但是,当我没有选择其中一个复选框时,我捕获表单的PHP页面会显示一个错误。
例:
HTML 代码:
Checkbox 1<input type="checkbox" name="check1" value="on" />
Checkbox 2<input type="checkbox" name="check2" value="on" />
PHP代码:
$check1 = $_GET['check1'];
$check2 = $_GET['check2'];
如果这两个项目都被选中并在 URL 中发送,则工作正常:
localhost/project/checkbox.php?check1=on&check2=on
但是当我取消选择其中的 1 个时,假设 check2,那么 URL 是这样的:
localhost/project/checkbox.php?check1=on
它向我展示了一个错误 - $check 2 是一个未定义的索引。
但是,如果未选中复选框,我不希望它显示错误。我还尝试了一个语句来检查我是否在 URL 中获取它,但它不起作用。if
有没有办法首先检查数据是否在 URL 中传递?因为我没有收到错误。 实际上错误不是主要的事情,因为我得到了正确的结果,我知道我可以在php.ini中关闭错误报告,但这不是我想做的。我想让它首先检查数据是否传入?
谢谢。。。
答:
2赞
anubhava
3/22/2011
#1
if (isset($_GET['check2']) && !empty($_GET['check2'])
将检查check2 GET参数是否存在且不为空。
评论
1赞
dynamic
3/22/2011
你可以只使用 !empty($_GET['check2'])
0赞
Marc B
3/22/2011
@yes123:如果该查询参数包含 0 或空格字符,则该操作将失败。 会说“y”。empty 是一个非常愚蠢的函数。$x = 0; echo empty($x) ? 'y' : 'n'
0赞
Czechnology
3/22/2011
#2
复选框值仅在选中时才注册。因此,您可以简单地进行如下检查:
$check1 = isset($_GET['check1']);
$check2 = isset($_GET['check2']);
$check1
并且现在将具有布尔值:$check2
echo "Checkbox 1 one is " . ($check1 ? "checked" : "not checked") . PHP_EOL;
echo "Checkbox 2 one is " . ($check2 ? "checked" : "not checked") . PHP_EOL;
下一个:错误通知未定义索引
评论