Doppelte Anmeldung durch Email Abgleich mit Datenbank verhindern

  • 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.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!