dongtaogou6226 2017-05-20 07:11
浏览 292
已采纳

使用URL中的错误$ _GET参数时出错

and can't get this to work. I want to get variable from URL, like:

domain.com?region=STATE

if (empty($_GET)) {
    echo 'American';

}

else {
    $t = $_GET["region"];
    if ($t == "Texas") {
        echo "Texan";
    } elseif ($t == "California") {
        echo "Californian";
    } else {
        echo "American";
    }
}

This does work. However in case there's wrong parameter input, like:

domain.com?asdasd=whatever

I get an error:

"Notice: Undefined index: region in test.php on line 19"

Can you tell me how can I prevent this error from appearing and basically treat it as empty variable and return "American" instead?

I tried this code, but it doesn't work:

if (empty($_GET)) {
    echo 'American';

}
elseif ($_GET != "region") {
    echo 'Anything Else';
}
else {
    $t = $_GET["region"];
    if ($t == "Texas") {
        echo "Texan";
    } elseif ($t == "California") {
        echo "Californian";
    } else {
        echo "American";
    }
}

Even if URL is true:

domain.com?region=Texas

is still get "Anything Else" in the output.

  • 写回答

4条回答 默认 最新

  • douyue6520 2017-05-20 07:18
    关注

    Use isset(($_GET['region']) as it does not emit a notice if fed an undefined variable:

    if (!isset($_GET['region'])) {
        echo 'American';
    } else {
        $t = $_GET["region"];
        if ($t == "Texas") {
            echo "Texan";
        } elseif ($t == "California") {
            echo "Californian";
        } else {
            echo "American";
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog