<input name="aa" type="text" id="aa" value="please enter your name" size="22" maxlength="60" />
<input name="aab" type="text" id="aab" value="please enter your email" size="22" maxlength="60" />
我有一个文本字段,它的值是“请输入你的名字”(同样我有很多字段。我想只在值改变时才将值添加到数据库。(如果用户输入了名字)
我使用php isset函数,但它无法正常工作。 如何在php中检测到它?
答案 0 :(得分:1)
您应该在前端使用现成的验证库执行此操作,例如:在jQuery或Prototype中。显然,你还需要对后端进行一些验证,但是“垃圾进入,垃圾输出”适用,你应该在输入数据到达PHP代码附近之前整理你的输入数据。
答案 1 :(得分:1)
如果您有一个包含先前值的数组,您可以轻松地将所有字段值与之前的字段值进行比较,如果其中任何字段值不同,则更新。
<强>更新强> 抱歉一开始不明白你的问题。正如在其他答案中提到的那样,你最好在前端检查它,并在通过你的PHP代码工作后服从。
答案 2 :(得分:0)
您应该在发布表单后通过从数据库中提取数据并根据需要插入新记录来进行比较。您还应该使用交易来确保竞争条件。如果它是一个关键系统,则必须进行大量测试。
答案 3 :(得分:0)
isset()可能正常工作,但只有在变量不存在或为null时才返回false 如果我正确理解了这个问题,你应该做一些事情:
if($_POST["aa"]!="please enter your name" && isset($_POST["aa"])){
//do something
}
其他领域也是如此:
if($_POST["aab"]!="please enter your email" && isset($_POST["aab"])){
//do something
}