PHP如果不能正常工作

时间:2012-11-19 05:50:31

标签: php

当我点击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";
    }

6 个答案:

答案 0 :(得分:3)

if(isset($_REQUEST['hello']) && ($_REQUEST['hello']) == 'x')   )

答案 1 :(得分:2)

isset函数返回truefalse,您将该返回值与字符串'x''y'进行比较。

由于您使用的是==而非===true == 'x'将返回ture

要先修复此问题,您需要检查变量是否已设置,然后才进行比较。

if(isset($_REQUEST['hello']) && ($_REQUEST['hello']) === 'x'))

答案 2 :(得分:0)

isset返回truefalse,在这两个示例中hello都设置为某事,因此isset会返回true(不等同于xy

希望这有帮助。

答案 3 :(得分:0)

     <?php
        if(isset($_REQUEST['hello']) &&  $_REQUEST['hello']== 'x')
        {
        echo 'x';
        }
        else if(isset($_REQUEST['hello']) && $_REQUEST['hello'] == 'y'){
        echo 'y';
        }
        else
        {
        echo "else";
        }
?>

答案 4 :(得分: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";
}

答案 5 :(得分:0)

<?php  $myvar = $_REQUEST['hello'];


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

?>

试试这个