Title: dev1997's Replies | WordPress.org

---

# dev1997

  [  ](https://wordpress.org/support/users/dev1997/)

 *   [Profile](https://wordpress.org/support/users/dev1997/)
 *   [Topics Started](https://wordpress.org/support/users/dev1997/topics/)
 *   [Replies Created](https://wordpress.org/support/users/dev1997/replies/)
 *   [Reviews Written](https://wordpress.org/support/users/dev1997/reviews/)
 *   [Topics Replied To](https://wordpress.org/support/users/dev1997/replied-to/)
 *   [Engagements](https://wordpress.org/support/users/dev1997/engagements/)
 *   [Favorites](https://wordpress.org/support/users/dev1997/favorites/)

 Search replies:

## Forum Replies Created

Viewing 1 replies (of 1 total)

 *   Forum: [Plugins](https://wordpress.org/support/forum/plugins-and-hacks/)
    In
   reply to: [[Contact Form DB] Check for Duplicate Submissions](https://wordpress.org/support/topic/check-for-duplicate-submissions/)
 *  [dev1997](https://wordpress.org/support/users/dev1997/)
 * (@dev1997)
 * [8 years, 4 months ago](https://wordpress.org/support/topic/check-for-duplicate-submissions/#post-9917913)
 * I have the same problem.
 *     ```
       function is_already_submitted($formName, $fieldName, $fieldValue) {
           require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
           $exp = new CFDBFormIterator();
           $atts = array();
           $atts['show'] = $fieldName;
           $atts['filter'] = "$fieldName=$fieldValue";
           $atts['unbuffered'] = 'true';
           $exp->export($formName, $atts);
           $found = false;
           while ($row = $exp->nextRow()) {
               $found = true;
           }
           return $found;
       }
   
       /**
        * @param $result WPCF7_Validation
        * @param $tag array
        * @return WPCF7_Validation
        */
       function my_validate_email($result, $tag) {
   
           $formName = 'Prize Draw'; // Change to name of the form containing this field
           $fieldName = 'your-email'; // Change to your form's unique field name
           $errorMessage = 'Email has already been submitted'; // Change to your error message
           $name = $tag['name'];
           if ($name == $fieldName) {
               if (is_already_submitted($formName, $fieldName, $_POST[$name])) {
                   $result->invalidate($tag, $errorMessage);
               }
           }
           return $result;
       }
   
       // use the next line if your field is a **required email** field on your form
       add_filter('wpcf7_validate_email*', 'my_validate_email', 10, 2);
       ```
   
 * Submissions with the same email address as before continue to go through.

Viewing 1 replies (of 1 total)