使用Flamingo和联系表7进行服务器端验证

时间:2019-04-09 20:19:51

标签: php wordpress contact-form-7 wordpress-flamingo-plugin

我有最后一个WordPress网站,最后一个联系表是7,并且安装了火烈鸟插件。

这是一个简单的表单,带有电子邮件字段和消息字段。

我想查询数据库,以检查电子邮件是否已经向我的站点发送了以前的消息。

  

这可能吗?

我正在尝试创建一个使查询进入数据库的PHP文件,并在提交表单后使用ajax调用该文件。

这是个好主意吗?

1 个答案:

答案 0 :(得分:2)

这是您的意思吗?

add_filter( 'wpcf7_validate', 'email_already_in_db', 10, 2 );

function email_already_in_db ( $result, $tags ) {
    // retrieve the posted email
    $form  = WPCF7_Submission::get_instance();
    $email = $form->get_posted_data('your-email');

    // if already in database, invalidate
    if( email_exists( $email ) ) // email_exists is a WP function
        $result->invalidate('your-email', 'Your email exists in our database');

    // return the filtered value
    return $result;
}