PHP 输入类型“text”值必须是一个特定的单词


PHP input type"text" value must be one specific word

如果这看起来像一个"叹息,另一个~"的问题,我感到非常抱歉,但我看得很远很远,但似乎没有一件东西适合我的需求。我看过像刽子手这样的游戏,但他们逐字逐句地做了,我不知道如何处理代码。(我承认我这边无能。我的知识非常有限)

然后我决定看看测验,但它们似乎只处理单选按钮。我尝试编辑脚本,以便它们具有输入类型的文本框,但这似乎会导致更多问题,因为我将问题从多项选择转向打开答案。

我真正想要的,是这样的基本设置:

问题
输入框
按钮(提交,我想?

在美学上没有什么花哨的,只有这三件事。

摘要:如何让我的代码检查他们对问题的回答是否是香蕉?如果单词确实是香蕉,我如何让按钮仅工作?

经过几天的搜索,我现在很迷茫。非常感谢你们为此付出的任何努力,这对我来说意义重大。

基本上,

您将提交按钮更改为普通按钮,并在提交表单之前运行JavaScript函数以检查值是否正确。像这样:

<script>
    function validate() {
        if (document.getElementById('check_value').value == 'banana') {
            document.getElementById('myForm').submit();
        }
        else {
            alert("Incorrect value.");
        }
    }
</script>
<form id='myForm' method='POST' action='process.php'>
    <input type='text' id='check_value' />
    <input type='button' value='Submit' onclick='validate();' />
</form>

希望有帮助。

这是一些使用 javascript 的基本客户端脚本。

使用 onkeyup 事件,我们可以测试用户在文本框中键入的值,将其与"正确"值进行比较,并根据该评估启用/禁用我们的提交按钮。

<div id="question">How do you spell "banana"?</div><br />
<form action="" method="post">
    <input type="text" name="answerswer" id="answerswer" /><br />
    <input type="submit" id="submit" disabled="true" />
</form>
<script type="text/javascript" language="javascript">
    $("#answer").on('keyup', function() { 
        if ($(this).val() == "banana") {
            $("#submit").removeAttr("disabled");
        } else {
            $("#submit").attr("disabled", "true");
        }
    });
</script>

正如其他人指出的那样,您需要在服务器端验证输入,以防万一用户是一个混蛋并且禁用了javascript。

<?php
    if ($_POST['answer'] == "banana") {
        // we're OK, do something
    } else {
        // return to the form and let the user know he's a cheater!
    }