防止多个 mysql 数据/表单提交并更新现有条目


Prevent multiple mysql data/form submissions and update existing entries?

我有一个包含几个表单的页面,我需要能够通过在用户提交时记录他们的IP地址来防止用户提交每个特定表单的副本。

如果在 mysql 数据库中找到现有条目,从他们提交的表单的 IP 地址,但提交的输入不同,我需要能够使用新值更新该条目。

如果输入相同,我需要丢弃它。

<form action="" name="form1" method="post">
<input type="text" value="" name="A" />
<input type="text" value="" name="B" />
<input type="text" value="" name="C" />
<input type="text" value="" name="D" />
<input type="Submit" value="Submit Form" name="submitForm" />
</form>
<form action="" name="form2" method="post">
<input type="text" value="" name="A" />
<input type="text" value="" name="B" />
<input type="text" value="" name="C" />
<input type="text" value="" name="D" />
<input type="Submit" value="Submit Form" name="submitForm" />
</form>
<form action="" name="form3" method="post">
<input type="text" value="" name="A" />
<input type="text" value="" name="B" />
<input type="text" value="" name="C" />
<input type="text" value="" name="D" />
<input type="Submit" value="Submit Form" name="submitForm" />
</form>

我可以根据您的要求提供适当的解决方法,

$ip = $_SERVER["REMOTE_ADDR"]; //store the visitors ip to a variable

$retval = mysql_query("SELECT * FROM table WHERE ip ='$ip' ");
if( mysql_num_rows($retval) > 0) {
    mysql_query("UPDATE table SET val1 = '$form_val' "); //If Ip exist, update
}
else
{
    mysql_query("INSERT INTO table (val1) VALUES ('$form_val') ");//else insert
}