empty($_GET['variable']) 当变量没有值时阻塞脚本
empty($_GET['variable']) blocks the script when the variable has no value
我正在编写一个非常简单的脚本,它使用 GET 参数在脚本中定义一个变量。所以在脚本的开头,我检查 GET 参数是否存在并且它不为空(以避免 ...page.php?param=
)。
这段代码是我写的(参数命名为a
):
if (!isset($_GET['a']) || empty($_GET['a'])) {
header("Location: https://..."); // redirect to home page
die();
}
当根本没有 GET 参数时它可以工作,但是如果有 ?a
或 ?a=
,那么页面只是空白,即使我添加了 echo "some text";
我不太明白这是怎么回事。有人可以给我解释一下吗?
谢谢 :-)
编辑:这里是整个代码页:
<?php
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://google.com");
exit();
}
echo "hello";
所以我应该重定向到 Google.com 或打印 "hello" 但是 none 这种情况发生了。
尝试
if (!isset($_GET['a']) || trim($_GET['a']) == "") {
试试这个:
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://www.google.com"); // redirect to home page
}
空白页是 PHP 错误的典型示例。您需要像这样设置 use PHP error logging facility:
error_reporting(E_ALL);
ini_set('display_errors', 1);
在您页面的最顶部。
重写你的页面我会这样做:
error_reporting(E_ALL);
ini_set('display_errors', 1);
if (!isset($_GET['a']) || is_null($_GET['a'])) {
header("Location: https://google.com");
exit();
}
echo "hello";
我正在编写一个非常简单的脚本,它使用 GET 参数在脚本中定义一个变量。所以在脚本的开头,我检查 GET 参数是否存在并且它不为空(以避免 ...page.php?param=
)。
这段代码是我写的(参数命名为a
):
if (!isset($_GET['a']) || empty($_GET['a'])) {
header("Location: https://..."); // redirect to home page
die();
}
当根本没有 GET 参数时它可以工作,但是如果有 ?a
或 ?a=
,那么页面只是空白,即使我添加了 echo "some text";
我不太明白这是怎么回事。有人可以给我解释一下吗?
谢谢 :-)
编辑:这里是整个代码页:
<?php
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://google.com");
exit();
}
echo "hello";
所以我应该重定向到 Google.com 或打印 "hello" 但是 none 这种情况发生了。
尝试
if (!isset($_GET['a']) || trim($_GET['a']) == "") {
试试这个:
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://www.google.com"); // redirect to home page
}
空白页是 PHP 错误的典型示例。您需要像这样设置 use PHP error logging facility:
error_reporting(E_ALL);
ini_set('display_errors', 1);
在您页面的最顶部。
重写你的页面我会这样做:
error_reporting(E_ALL);
ini_set('display_errors', 1);
if (!isset($_GET['a']) || is_null($_GET['a'])) {
header("Location: https://google.com");
exit();
}
echo "hello";