PHP-$_POST[';variable';]正确回声,但在if语句中返回false


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

我有一个htm文件,它将一个名为$team的变量传递到一个php文件。php文件echo的"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";
        }
?>

输出:

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,而不是合并字符串

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

尝试使用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

您可以像这样使用echo,因为php中使用了merge字符串。

if ($_POST["team"] ==  "Fred"){
    echo "You go for " . $_POST["team"];
}
相关文章: