PHP - $ _POST ['变量']回声正确但在if语句中返回false

时间:2015-03-22 06:07:41

标签: php post if-statement

我有一个htm文件,它将名为$ team的变量传递给php文件。 php文件回应了Fred'如果这是用户输入的内容,那么就在第3行就好了,但是要求if $_POST["team"] == "Fred"的if语句总是返回负数。有人可以帮忙吗?

<?php

        echo $_POST["team"] , "<br />";

        if ($_POST["team"] ==  "Fred"){
            echo "You go for " , $_POST["team"];
        }

        else {
            echo "You do NOT go for Fred";
        }

?>

输出:

佛瑞德

你不去找弗雷德

3 个答案:

答案 0 :(得分:1)

我认为$ _POST [“team”]有空格。试试这个:

<?php

    echo $_POST["team"] , "<br />";

    if (trim($_POST["team"]) ==  "Fred"){
        echo "You go for " , $_POST["team"];
    }

    else {
        echo "You do NOT go for Fred";
    }

&GT;

注意:此代码与(,)无关,因为您使用echo,而不是合并字符串

答案 1 :(得分:0)

如果您的$_POST['team']包含空格,则比较将始终返回false

尝试使用trim() (Documentation here)。修剪删除字符串中的所有空格,这样可以减少出现错误的几率。

<?php

    $team = trim($_POST['team']);

    echo $team , "<br />";

    if ($team ==  "Fred"){
        echo "You go for " , $_POST["team"];
    }

    else {
        echo "You do NOT go for Fred";
    }

?>

让我知道它是否有效= D

答案 2 :(得分:-2)

你可以echo这样,因为php中的merge字符串使用。

if ($_POST["team"] ==  "Fred"){
    echo "You go for " . $_POST["team"];
}