输入特定单词的文本值

Input text value for specific words

我在联系表单中有一个文本字段,用户必须回答一个简单的问题(我知道这不是处理垃圾邮件的最佳方式,我们已经有验证码、蜜罐等其他东西)。

问题是我只想给用户2个答案的选项。

    if ($_POST['answer'] == "banana") {
        // we're OK, do something
    } else {
       alert("YOU FAILED!!!");
    }

我希望文本字段传递超过 1 个单词,比方说 "foo" 和 "baz"

如何解决这个问题?

@tim(间接)建议使用逻辑运算符。使用它的解决方案如下所示:

if ($_POST['answer'] == 'banana' || $_POST['answer'] == 'platano') {

如果您需要检查的条件彼此无关(例如,如果您需要检查来自两个不同表单字段的值),这就是方法。但在你的情况下,我建议检查提供的值是否在可接受值列表中:

if (in_array($_POST['answer'], ['banana', 'platano'])) {

在双值的情况下,这是稍微短一些的代码(而且,我认为,更具可读性,因此更易于维护),但是如果您发现需要添加第三个和第四个,它会越来越好选项。