当我点击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";
}
答案 0 :(得分:3)
试
if(isset($_REQUEST['hello']) && ($_REQUEST['hello']) == 'x') )
答案 1 :(得分:2)
isset函数返回true
或false
,您将该返回值与字符串'x'
和'y'
进行比较。
由于您使用的是==
而非===
,true == 'x'
将返回ture
。
要先修复此问题,您需要检查变量是否已设置,然后才进行比较。
if(isset($_REQUEST['hello']) && ($_REQUEST['hello']) === 'x'))
答案 2 :(得分:0)
isset
返回true
或false
,在这两个示例中hello
都设置为某事,因此isset
会返回true
(不等同于x
或y
)
希望这有帮助。
答案 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';
}
?>
试试这个