检查是否设置了GET变量,检查该值是否有效

时间:2013-04-03 14:22:50

标签: php

<?php               
if((isset($_GET["r"])) == "en")
{
    echo "<font color='#FF9900'>Right.</font>";
}
else
{
    echo "";
}
?>

当“index.php?r = en”时,它显示正确。但是当我发送错误的值时,它也会显示相同的结果。比如“index.php?r = abc”或“index.php?r”。

如何解决这个问题?

5 个答案:

答案 0 :(得分:3)

isset($_GET["r"])是一个布尔运算符。当这是真的时,你正在进行以下比较:

if(true == "en") ...

你想要的是:

if( !empty($_GET[r]) && $_GET[r] == 'en' ) ...

答案 1 :(得分:1)

替换此行:

if((isset($_GET["r"])) == "en")

if((isset($_GET["r"])) && $_GET["r"] == "en")

答案 2 :(得分:0)

if( isset($_GET["r"]) &&  $_GET["r"] == "en")
{
    echo "<font color='#FF9900'>Right.</font>";
}
else
{
    echo "";
}

答案 3 :(得分:0)

    if(isset($_GET['r'])){      

     if($get === 'en'){
         echo 'something';}
       else {
         echo 'nothing';}
    }

答案 4 :(得分:0)

<?php
if(true === array_key_exists('r', $_GET) && 'en' == $_GET['r'])
{
    echo "<font color='#FF9900'>Right.</font>";
}
else
{
    echo "";
}
?>
相关问题