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 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集