Forums

Placeholders sometimes aren't replaced in emails

drathy 25 Feb, 2013
Hi all,

I use Chronoforms Plugin V4 RC3.0 and Component 4.0 RC3.11 and everything works fine - most of the time at least, but sometimes we receive an "empty" email like this:

[... beginning of the mail ...]
Anrede: {anrede}
Titel: {titel}
Vorname: {vorname}
Nachname: {nachname}
Unternehmen/ Institution: {institution}
[... end of the mail ...]

As you see, the placeholders aren't replaced and I have no idea why. Has anyone an idea when this case can occur? My first guess was, that the form has been submitted by a spambot, so I submitted an empty form by disabling Javascript, but the the result is different. In this case, there are no placeholders in the email.

The Problem is, that we use this form for registration to an event and if someone trys to register but his data doesn't reach us, that's a big problem.

Please help!
GreyHead 25 Feb, 2013
Hi drathy,

I doubt that you are missing any registrations.

Do you have any server-side validation set up? Or an Anti-Spam check?

This pattern is probably because some crawler bot is hitting the submit url of the form without submitting any data. If there is no data at all, as opposed to a normal submission with empty data, then you can see the place-holders in the email.

Bob
drathy 25 Feb, 2013
Hi Bob,

thank you for your quick answer!🙂

No, I didn't have any server-side validation set up, but I integrated the captcha function now. I hope it solves the problem.

But honestly, I don't understand the difference between submitting the empty form by myself with deactivated Javascript and a crawler bot hitting the submit url. Isn't the submit URL identical with the URL of the form-page?

Greetings,
drathy
GreyHead 25 Feb, 2013
Hi drathy,

Yes the URLs are the same but . . . if you submit the form normally the form results are included in the $_POST array and picked up by ChronoForms and added to the $form->data array as e.g. $form->data['email']. If this is empty then ChronoForms sees that and will remove the {email} from the results.

If you just hit the URL directly then there is no $_POST array, the only results are from the URL itself (in the $_GET array); then $form->data['email'] doesn't exist so ChronoForms can't see it and doesn't know to remove {email}.

Hard to explain but it makes sense in the end.

The Submit URL can be picked up by bots that crawl pages looking for any links they can find. They find the action URL from the <form> tag and give it a go to see what happens.

Bob
drathy 04 Mar, 2013
Hi Bob,

sorry for my late reply. Thanks again for your answer, I think I understand it now and I think the problem should also be solved now.

Have a nice day!

Greetings,
drathy
This topic is locked and no more replies can be posted.