如果表单数据具有正确答案,如何检查表单数据

时间:2015-02-07 20:00:13

标签: php jquery forms

所以我有这个:

的index.php:

<?php
include "phpscripts/databaseconn.php";
$conn = new mysqli('127.0.0.1', 'root', '', 'lidl');
if($conn->connect_error)
{
    die('Could not connect: ' . mysql_error());
}

// Query we are going to use on the index page
$sql = "SELECT * FROM producten ORDER BY Rand()";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo '  <tr>
                    <td><img src="'.$row['Afb'].'"></td>
                    <td>'.$row['Naam'].'</td>
                    <td><input class="input" type="text" autocomplete="off" name="'.$row['Naamlower'].'" placeholder="..."></td>
                </tr>';
    }
} else {
    echo "0 results";
}
// Shut down connection with DB
$conn->close();
?>

根据网站从数据库获取的数据,创建表单中的表格。

实施例: Image of fruit, name of fruit, input

一旦用户点击“Verzenden”,就必须进行检查,如果他们在输入中填写的内容与PLU代码相同。 plu代码在数据库中,连接到产品。

Example from the database

如果填写的答案与插件代码不同(第一张图片中的示例:某人输入'50',则检查必须不正确,因为PLU代码是'30'根据数据库),该输入字段的背景颜色应更改为红色。

我尝试了几件事,但它没有用。我希望有人能够就我应该如何做到这一点。您不必为我输入代码,只需告诉我如何操作,我就会弄明白!

非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试将此添加到您的循环代码中,替换最后一个td元素:

echo '<td>
    <input class="input" type="text" autocomplete="off" name="'.$row['Naamlower'].'" placeholder="..." onchange="validatePLU(this, \''.$row['Naamlower'].'\')">
    <input type="hidden" id="'.$row['Naamlower'].'_plu" value="'.$row['PLU'].'">
</td>';

这是JavaScript代码:

<script type=text/javascript>
function validatePLU(input, name)
{
    var plu_actual = parseInt(document.getElementById(name+'_plu').value);
    var plu_input = parseInt(input.value);

    if(plu_actual != plug_input)
    {
        input.style.backgroundColor = '#FF0000';
    }
    else
    {
        input.style.backgroundColor = 'none';
    }
}
</script>