Support Forum
Support › MB Frontend Submission › Entries into the database that we can't explain
Hi,
we use the extension "Frontend Submission" and and there are two cases in which entries got into the database that we can't explain.
1. People have to accept the data policy as required field (checkbox) to submit the form, but we got entries into the database, which haven't checked/ accepted the data policy. How is this possible?
2. The form redirects to a page where we track the entries. We got some SPAM entries which weren't redirected to that page. How is this possible? Is the form visible/ accessible on a different page than the page on which we integrated it?
Thanks for your help,
Andi
Hello Andreas,
Can you please share the page URL where I can make a test on your site or screenshots of the issue? And please export the field group to a Json file or generate PHP code so I can try to replicate the issue on my demo site.
Hi Peter,
sorry, I totally forgot to answer.
You find the forms here:
https://selbsthilfe.nrw/selbsthilfegruppe_eintragen/
https://selbsthilfe.nrw/eine-neue-landesorganisation-eintragen/
Both forms are integrated in the page template like this:
<?php
$form = '[mb_frontend_form id="gruppe-daten" post_fields="title" post_type="vnshg" label_title="Name der örtlichen Gruppe" label_thumbnail="Logo oder Gruppenbild" submit_button="Formular absenden" post_status="draft"]';
echo do_shortcode($form);
?>
And I generate the fields in the backend like this:
$meta_boxes[] = array(
'id' => 'gruppe-daten',
'title' => 'Gruppendaten',
'post_types' => 'vnshg',
'context' => 'normal',
'priority' => 'high',
'validation' => [
'rules' => [
'shg_kp_email' => [
'required' => true,
],
'kategorie[]' => [
'required' => true,
],
/* 'shg_neue[]' => [
'require_from_group' => array('1', '.input-group'),
], */
'shg_plz' => [
'maxlength' => 5,
'minlength' => 5,
],
'_file_gruppenbild[]' => [
'accept' => 'image/png, image/jpeg',
],
],
'messages' => [
'shg_kp_email' => [
'required' => 'Bitte eine E-Mail-Adresse der Kontaktperson eintragen.',
'email' => 'Bitte eine gültige E-Mail-Adresse eintragen.',
],
'shg_plz' => [
'maxlength' => 'Bitte eine gültige Postleitzahl eingeben.',
'minlength' => 'Bitte eine gültige Postleitzahl eingeben.',
],
'shg_ort' => [
'required' => 'Bitte einen Ort für die Selbsthilfegruppe angeben.',
],
'_thumbnail_id' => [
'extension' => 'Das Dateiformat wird nicht unterstützt. Bitte wählen Sie eine JPG- oder PNG-Datei.',
],
'_file_gruppenbild[]' => [
'accept' => 'Das Dateiformat wird nicht unterstützt. Bitte wählen Sie eine JPG- oder PNG-Datei.',
],
'shg_email' => [
'email' => 'Bitte eine gültige E-Mail-Adresse eintragen.',
],
'shg_website' => [
'url' => 'Bitte eine gültige URL eintragen.',
],
'post_title' => [
'required' => 'Bitte einen Gruppennamen angeben.',
],
'kategorie[]' => [
'required' => 'Bitte mindestens ein passendes Thema für die Gruppe wählen.',
'assertive' => 'test',
],
'shg_beschreibung' => [
'required' => 'Bitte eine Beschreibung zur Gruppe eingeben.',
],
'shg_kp_name' => [
'required' => 'Bitte den Vor- und Nachnamen der Kontaktperson eintragen.',
],
'zustimmung' => [
'required' => 'Bitte unserer Datenschutzerklärung zustimmen, damit wir die obigen Daten weiterverarbeiten dürfen.',
],
],
],
'fields' => array(
array(
'id' => 'gruppenbild',
'name' => 'Gruppenbild oder Logo',
'type' => 'image',
'max_status' => 'false',
'max_file_size' => '15mb',
'max_file_uploads' => 1,
'class' => 'backend-hidden',
'desc' => 'Das Bild darf maximal 8MB groß sein und muss eine JPEG- oder PNG-Datei sein.'
),
array(
'name' => 'Beschreibung der Selbsthilfegruppe',
'type' => 'heading',
'desc' => '<p>Hier kannst du die Arbeit der Gruppe beschreiben oder einfach einige Worte über euch schreiben. Auch ein Hinweis auf regelmäßige Treffen an bestimmten Orten kann gerne gegeben werden.</p>',
'class' => 'backend-hidden',
),
array(
'name' => 'Gruppenbeschreibung',
'id' => 'shg_beschreibung',
'type' => 'textarea',
'required' => true,
'class' => 'backend-hidden',
'rows' => 5,
),
array(
'name' => 'Thema der Selbsthilfegruppe',
'type' => 'heading',
'desc' => '<p>Hier kannst du das Thema der Gruppe eintragen. Neue Themen können ebenfalls eingetragen werden, dazu einfach auf den entsprechenden Hinweis klicken.</p>',
'class' => 'backend-hidden',
),
array(
'name' => 'Thema',
'id' => 'kategorie',
'type' => 'taxonomy_advanced',
'taxonomy' => 'cat_vnshg',
'field_type' => 'select_advanced',
'desc' => 'Bitte maximal 3 Themen auswählen. <strong>Bitte "Anderes Thema" auswählen, um neue Themen einzugeben.</strong>',
'multiple' => true,
'placeholder' => 'Themen wählen oder suchen',
'class' => 'backend-hidden outer-select-wrapper',
'clone_default' => false,
'query_args' => array(
'number' => 100, // THIS
),
'js_options' => array(
'maximumSelectionLength' => 3,
'scrollAfterSelect' => true,
'minimumResultsForSearch' => 20
)
),
array(
'name' => 'Neue Themen einreichen',
'id' => 'shg_neue',
'type' => 'text',
'clone' => true,
'max_clone' => 3,
'placeholder' => 'Neues Thema',
'desc' => 'Hier können bis zu 3 neue Themen eingetragen werden, falls die vorhandenen nicht auf deine Gruppe zutreffen.',
'class' => 'show-on-select',
'visible' => array( 'kategorie', 'contains', '4' )
),
array(
'name' => 'Weitere thematische Begriffe',
'id' => 'shg_andere',
'type' => 'textarea',
'desc' => 'Hier können weitere Stichworte eingegeben werden, die das Thema der Selbsthilfegruppe umschreiben.',
'rows' => 2,
),
array(
'name' => 'Kontaktmöglichkeiten zur Selbsthilfegruppe',
'type' => 'heading',
'desc' => '<p>Wie kann die Gruppe kontaktiert werden? Bitte mindestens einen Ort angeben.<br>Hinweis: Freiwillige Angaben, diese Daten werden öffentlich sichtbar sein.</p>',
),
array(
'name' => 'Straße',
'id' => 'shg_adresse_1',
'type' => 'text',
'size' => 120,
'columns' => 8,
),
array(
'name' => 'Hausnummer',
'id' => 'shg_hausnummer',
'type' => 'text',
'size' => 120,
'columns' => 4,
),
array(
'name' => 'Adresszusatz',
'id' => 'shg_adresse_2',
'type' => 'text',
'size' => 120,
'columns' => 12,
),
array(
'name' => 'PLZ',
'id' => 'shg_plz',
'type' => 'number',
'size' => 120,
'columns' => 4,
),
array(
'name' => 'Ort',
'id' => 'shg_ort',
'type' => 'text',
'size' => 120,
'columns' => 8,
'required' => true,
),
array(
'name' => 'Telefon',
'id' => 'shg_tel',
'type' => 'tel',
'size' => 120,
'columns' => 6,
),
array(
'name' => 'E-Mail-Adresse',
'id' => 'shg_email',
'type' => 'email',
'size' => 120,
'columns' => 6,
),
array(
'name' => 'Ansprechperson',
'id' => 'shg_ansprechperson',
'type' => 'text',
'size' => 120,
),
array(
'name' => 'Website',
'id' => 'shg_website',
'type' => 'text',
'size' => 120,
'desc' => 'inkl. <strong>http://</strong> oder <strong>https://</strong>',
),
array(
'name' => 'Kontaktperson für die Selbsthilfegruppe<br><span>(Daten werden nicht veröffentlicht)</span>',
'type' => 'heading',
'desc' => '<p>Bitte trage hier eine Person namentlich ein, an die wir uns bei Rückfragen zu den eingetragenen Inhalten wenden können. Diese Person zeigt sich verantwortlich für den Inhalt des Gruppeneintrages. Diese Person wird auch von uns zu relevanten Themen der Selbsthilfeförderung kontaktiert, sofern die entsprechende Freigabe unten erteilt wurde.</p>',
),
array(
'name' => 'Vorname und Nachname',
'id' => 'shg_kp_name',
'type' => 'text',
'size' => 120,
'columns' => 6,
'required' => true,
),
array(
'name' => 'E-Mail-Adresse',
'id' => 'shg_kp_email',
'type' => 'email',
'size' => 120,
'columns' => 6,
),
array(
'name' => 'Datenverarbeitung und Kontaktaufnahme',
'type' => 'heading',
'desc' => '<p>Die Angaben zur Selbsthilfegruppe werden durch uns geprüft, ggf. redaktionell verändert und anschließend veröffentlicht. Details zur Datenverarbeitung sind in unserer <a href="'.get_home_url().'/datenschutz" target="_blank">Datenschutzerklärung</a> zu finden.</p>',
),
array(
'name' => 'Ich akzeptiere die <a href="'.get_home_url().'/datenschutz" target="_blank">Datenschutzerklärung</a>.',
'id' => 'zustimmung',
'type' => 'checkbox',
'required' => true,
'class' => 'display-left'
),
array(
'name' => 'Ich erkläre mich einverstanden, als Kontaktperson im Zuge des Projekts kontaktiert zu werden, um den Status sowie die Daten meiner Selbsthilfegruppe abzufragen. Diese Zustimmung ist jederzeit widerrufbar. Details in unserer <a href="'.get_home_url().'/datenschutz" target="_blank">Datenschutzerklärung</a>.',
'id' => 'kontaktaufnahme',
'type' => 'checkbox',
'class' => 'display-left'
),
array(
'type' => 'checkbox',
'name' => 'Bestätigungsmail',
'id' => 'mail',
'desc' => 'Wenn die Box angeklickt ist, wird auf der Danke-Seite keine weitere Bestätigungsmail verschickt.',
'class' => 'backend-hidden hidden',
),
),
);
Hello,
Apply the code on my local site and submit some test posts, I do not see that issue. Can you please submit some posts and see how it goes?
I also do not see the redirection attribute in the frontend submission form, please read more here https://docs.metabox.io/extensions/mb-frontend-submission/#submission-form
How do you redirect the form on your site after submitting a post?
Hi,
I got the feedback of my client, that they still get SPAM entries. In the last days it happened daily...
The entries are in the backend although a mandatory field (consent to the data protection declaration) is not selected. When I try to do this as a "real" person, the form won't be sent. How can bots manage to send the form?
This is the field that needs to be filled out in the form, but there are entries in the database that have not approved to it.
array(
'name' => 'Ich akzeptiere die <a href="'.get_home_url().'/datenschutz" target="_blank">Datenschutzerklärung</a>.',
'id' => 'zustimmung',
'type' => 'checkbox',
'required' => true,
'class' => 'display-left'
),
The form is integrated like this:
echo do_shortcode('[mb_frontend_form id="gruppe-daten" post_fields="title" post_type="vnshg" label_title="Name der örtlichen Gruppe" label_thumbnail="Logo oder Gruppenbild" submit_button="Formular absenden" post_status="draft"]');
The redirect for the form is integrated like this:
add_action( 'rwmb_frontend_after_process', function( $config, $post_id ) {
$options = get_option('options');
if ( 'gruppe-daten' === $config['id'] && !empty($options['danke-gruppe']) ) {
$newURL = get_the_permalink($options['danke-gruppe']).'?gruppe='.$post_id;
// header('Location: '.$newURL);
wp_safe_redirect( $newURL );
exit();
};
if ( 'landesorganisation-daten' === $config['id'] && !empty($options['danke-organisation']) ) {
$newURL = get_the_permalink($options['danke-organisation']).'?gruppe='.$post_id;
// header('Location: '.$newURL);
wp_safe_redirect( $newURL );
exit();
};
}, 10, 2 );
When bots fill out the form, sometimes the redirection is missing. We noticed that, because on the redirected site a mail is sent to the client to inform them, that they've got a new form entry.
Maybe this give you more information?
Hello,
As a real person, I don't know how bots do. Can you please share some entries in the database that indicates the field "zustimmung" is empty?
You can try to use the Google reCaptcha (v3) to prevent this issue, please read more in the documentation https://docs.metabox.io/extensions/mb-frontend-submission/#adding-the-submission-form
Hi Peter,
Google reCaptcha is a problem because of German DSGVO and the client wants to avoid using third party tools.
Here is a screenshot of an entry:
And another example:
And here you can see that it happens regularly:
Hello,
Google reCaptcha is a built-in feature of the frontend submission form, I think it's not a third-party tool. You can consider using it. Meanwhile I'm asking the development team about this issue and get back to you later.
Hi Peter, did the development team find something?
Hello,
I don't have any information from the dev team. Please share your site credentials via this contact form https://metabox.io/contact/
I will forward it to the team and make a deep digger.