-5
<?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”。

如何解决这个问题?

4

5 回答 5

3

isset($_GET["r"])是一个布尔运算符。如果这是真的,您将进行以下比较:

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

你想要的是:

if( !empty($_GET[r]) && $_GET[r] == 'en' ) ...
于 2013-04-03T14:24:40.717 回答
1

替换这一行:

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

if((isset($_GET["r"])) && $_GET["r"] == "en")
于 2013-04-03T14:24:58.427 回答
0
if( isset($_GET["r"]) &&  $_GET["r"] == "en")
{
    echo "<font color='#FF9900'>Right.</font>";
}
else
{
    echo "";
}
于 2013-04-03T14:24:43.100 回答
0
    if(isset($_GET['r'])){      

     if($get === 'en'){
         echo 'something';}
       else {
         echo 'nothing';}
    }
于 2013-04-03T14:25:05.177 回答
0
<?php
if(true === array_key_exists('r', $_GET) && 'en' == $_GET['r'])
{
    echo "<font color='#FF9900'>Right.</font>";
}
else
{
    echo "";
}
?>
于 2013-04-03T14:25:18.790 回答