PHP - $_POST['variable'] 正确回显,但在 if 语句中 returns 错误

PHP - $_POST['variable'] echos correctly but returns false in if statement

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

<?php

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

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

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

?>

输出:

弗雷德

你不会选择 Fred

我认为 $_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";
    }

?>

注意:这段代码与(,)无关,因为你用的是echo,不是merge string

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

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

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

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

<?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