如果表单输入字段为空,则不保存到db?

时间:2012-08-31 08:12:43

标签: mysql wordpress save

我通过functions.php创建了Wordpress自定义字段。我的代码工作正常,我的输入字段和复选框很少。

问题是当我保存帖子时,即使我没有将内容放在我的表单中,这些行也是在DB中创建的。我想做一些php检查,如果没有保存字段内容,就避免在DB中创建行。

我尝试了几种方法,但在大多数情况下,它会导致复选框的行为不正确,例如。

完整代码在此处:http://pastebin.com/embed_js.php?i=Vvnseiep

我很感激你在这件事上的帮助。我不是很有经验。

谢谢!

2 个答案:

答案 0 :(得分:0)

此处验证部分发挥作用。为什么你不能使用Javascript在客户端环境中验证你的输入,然后允许它命中数据库。

答案 1 :(得分:0)

将所有复选框命名为相同(name="meta_box_check[]")。他们仍然必须有不同的ID。发布表单后,您将获得一系列已在$_POST['meta_box_check']中签入的值。然后,您可以检查阵列是否为空。您还可以将复选框数据另存为JSON数据。这并不总是很好的做法,但只会使用一个数据行来保存任何和所有复选框值。

<?php
if(!empty($_POST['meta_box_check']))
{ 
   //process your data and save it
   update_post_meta($post_id, 'meta_features_checklist', json_encode($_POST['meta_box_check']));
}
?>

这是一个基本示例,请确保在保存之前进行一些数据验证。