我正在编写一个非常简单的脚本,它使用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";
< / p>
我真的不明白发生了什么。有人可以向我解释一下吗?
谢谢: - )
编辑:这是整个代码页:
<?php
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://google.com");
exit();
}
echo "hello";
所以我应该重定向到Google.com或打印“你好”,但不会发生这种情况。
答案 0 :(得分:2)
空白页是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";
答案 1 :(得分:-1)
试
if (!isset($_GET['a']) || trim($_GET['a']) == "") {
答案 2 :(得分:-1)
试试这个:
if (!isset($_GET['a']) || trim($_GET['a']) == '' || $_GET['a'] == NULL) {
header("Location: https://www.google.com"); // redirect to home page
}