-4

yリンクをクリックすると、xになります。なぜですか。

<a href="test.php?hello=x">x</a>
    <a href="test.php?hello=y">y</a>
    <?php
    if(isset($_REQUEST['hello']) == 'x')
    {
    echo 'x';
    }
    else if(isset($_REQUEST['hello']) == 'y'){
    echo 'y';
    }
    else
    {
    echo "else";
    }
4

6 に答える 6

3

試す

if(isset($_REQUEST['hello']) && ($_REQUEST['hello']) == 'x')   )
于 2012-11-19T05:53:04.100 に答える
2

isset関数はまたはのいずれtruefalseを返し、その戻り値を文字列'x'および。と比較しています'y'

を使用==していないので===true == 'x'を返しtureます。

これを最初に修正するには、変数が設定されているかどうかを確認してから、それを比較する必要があります。

if(isset($_REQUEST['hello']) && ($_REQUEST['hello']) === 'x'))
于 2012-11-19T05:52:06.220 に答える
0

issetリターンtrueまたはfalse、これらの例の両方で何かhelloに設定されているので、リターンします(これはまたはのどちらにも等しくありません)issettruexy

うまくいけば、これがお役に立てば幸いです。

于 2012-11-19T05:53:07.220 に答える
0
     <?php
        if(isset($_REQUEST['hello']) &&  $_REQUEST['hello']== 'x')
        {
        echo 'x';
        }
        else if(isset($_REQUEST['hello']) && $_REQUEST['hello'] == 'y'){
        echo 'y';
        }
        else
        {
        echo "else";
        }
?>
于 2012-11-19T05:53:12.210 に答える
0
<?php  $myvar = $_REQUEST['hello'];


if($myvar == 'x')
{
echo 'x';
}
else if($myvar == 'y')
{
    echo 'y';
}
else
{
    echo 'else';
}

?>

これを試してみてください

于 2012-11-19T07:02:00.280 に答える
0

issetは、リクエストが設定されているかどうかをチェックし、0または1を返します

<a href="test.php?hello=x">x</a>
<a href="test.php?hello=y">y</a>
<?php
if($_REQUEST['hello'] == 'x')
{
echo 'x';
}
else if($_REQUEST['hello'] == 'y'){
echo 'y';
}
else
{
echo "else";
}
于 2012-11-19T05:55:19.613 に答える