Hallo Zusammen,
ich nutze für ein Registrierungsformular für eine Veranstaltung das WP Contact Form 7 PlugIn mit Contact Form Entries zur Speicherung in einer Datenbank. Ich möchte gerne Doppelanmeldungen verhindern, indem ich die im Formular eingetragene Email mit der Datenbank abgleiche und ein Hinweis ausgegeben wird, wenn die Email bereits in der Datenbank vorhanden ist.
Habe dazu bis jetzt folgenden Code gefunden:
[PLAIN]
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', 'You have already registered with this email!');
// return the filtered value
return $result;
}
[/PLAIN]
Das scheint auch soweit zu funktionieren, allerdings nur bei meiner eigenen Email-Adresse, die anscheinend noch anderweitig auf der Seite vertreten ist (Hinweistext trotz Löschen meiner Email Adresse aus der Datenbank). Bei anderen Email-Adressen die noch in der Datenbank stehen, funtioniert das nicht. (Kein Hinweis trotz Eintrag der Email Adresse in der Datenbank).
Kann mir da jemand weiterhelfen?!
Vielen Dank.