如何查看天气是否收到 _GET 美元?(菲律宾比索)

How to check weather the $_GET is being received or not? (PHP)

提问人:Arjun Bajaj 提问时间:3/22/2011 更新时间:3/22/2011 访问量:230

问:

我在页面上有一个表格。它有太多的东西,比如复选框、文本字段和下拉列表。 但是,当我没有选择其中一个复选框时,我捕获表单的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中关闭错误报告,但这不是我想做的。我想让它首先检查数据是否传入?

谢谢。。。

php url 获取 undefined-index

评论


答:

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;