I'm using Webform 5.x-1.4, and it appears that captcha components are not showing up in the survey. I am using Captcha 5.x-3.x-dev, but I also tried 5.x-3.0-rc3.

A cursory look at webform/components/captcha.inc shows that it looks for the '_captchachallenge' hook, which does not appear to exist in either versions of captcha above.

Would appreciate any help, and if necessary, a nod towards which version of Captcha should be used alongside this version of webforms. Thanks!

Comments

NiklasM’s picture

I had the same problem and it's not really a bug I think. I solved it by ticking the "Add captcha adminstration links to forms" check box at admin/user/captcha and clicking on the link that then showed up benieth my webfrom. If the link doesn't show try switching to another theme (I switched to Garland). Good luck!

crischan’s picture

Well, i just had the same problem and chased it down.
First of all, I think it IS a bug. Webform tries to call a non-existent hook, doesn't find it, goes on anyway (without the captcha) and lives happy.
Adding a captcha from "the link" as mentioned above gives a working captcha.

It only breaks the content-centered workflow as the captcha for the form cannot be edited on the webform edit page.

Definately a bug, definately webform needs to adapt to a changed captcha module.

stephencarr’s picture

I am having this same problem, latest webform module and latest capture/textimage module. Appreciate anyone who can point me in the direction to fix this without having to use the work-around outlined above.

quicksketch’s picture

Webform only works with a (very) old version of captcha. On my site I'm using captcha.module with this CVS info:

// $Id: captcha.module,v 1.30 2007/01/13 17:48:05 wundo Exp $

Patches to upgrade the captcha.inc file to the latest captcha would be appreciated.

rmmcclay’s picture

I've got the latest captcha and webform modules working fine.

I'm sure there's many ways to do it but here's how I did it:

* First went to Administer > User Management > CAPTCHA and
checked: Add CAPTCHA administration links to forms.

Then I created the form and _did not_ add a captcha from the
component drop down; nor did I click on the CAPTCHA link
at the bottom of the Form Create page.

Then I saved the form.

Then I clicked on the CAPTCHA at the bottom of the newly created
form and clicked on:

"Place a challenge here for untrusted users."

Done.

* * *

(I had tried adding a captcha from the component drop down
and also clicking on the CAPTCHA link at the bottom of
the form creation page...but that didn't work...)

XGI-Wrath’s picture

With the exception of rolling back to a "very old" version, I've tried all the other suggestions with no success.

nunovo’s picture

I have managed to get it working. It took four attempts, but the advice about "Add captcha adminstration links to forms" seems to have been part of the fix.

I am using 5.1, have the Chameleon theme installed, and had created a webform before installing Captcha. After reading this thread I created a new form and found Captchas showing up everywhere. It's not entirely clear that one is meant to configure each instance. The instruction "Place a challenge here for untrusted users" is vague. It should say something like 'Click here to enable this Captcha'. I ignored it the first time round.

There is also a quasi-bug in that when one does place a challenge, it clears all of the unsaved fields on that form! So it means one needs to set the challenge first, then go back and create components, add descriptions and confirmations. A bit annoying, that!

However, once the challenges are set and the form set up, it worked as hoped: unregistered comments were challenged, comments from a registered user (me!) were not challenged. I have left the form in place, so you can test it if you like.

yurtboy’s picture

#5 worked for me great.

trevorleenc’s picture

#5 is the trick!

thanks!

krynsky’s picture

#5 FTW

ikkunaprincessa’s picture

i had the same problem 'n ur solution worked for me. thx

quicksketch’s picture

Status: Active » Closed (duplicate)
psynaptic’s picture

#5 worked for me in Drupal 5.7

bomarmonk’s picture

How do you get captchas to show up for forms that you have created before installing the captcha module? Several of my webforms are a bit complex, and if I can avoid having to recreate all of them, that would be best.

shanefjordan’s picture

After enabling this like #5 stated, I still didn't receive the CAPTCHA option on forms. I had to log in with the actual admin account to enable it on particular forms. Try logging in with your very first account, the admin account.

- Shane

bomarmonk’s picture

I am using that account, but still no option to add a captcha. I have tried switching themes, but still no option of adding captchas.

randrewski’s picture

Hi There - I had all of the problems listed above and was getting quite frustrated until I did the following...
Using Firefox: In the administer>modules section I disabled the image captcha, and then disabled the core captcha module.

Then Using Chrome: I accessed the contact page and completed it to make sure it was working

Back to Firefox: I re-activated both modules (one at a time)

Back to Chrome: I re-freshed the page and everything showed up.

Hope that helps.

commonpike’s picture

The process described in #5 worked, BUT I didnt exactly understand what he wrote at first.

After creating the webform, save it and VIEW THE WEBFORM ON THE FRONT END - NOT IN THE ADMIN -
while being logged in as admin. There is a box at the bottom there saying 'no challenge here' - click a link to ...

after clicking the link, the tiny form that shows up should display a form id,
like 'webform_client_form_303'. That worked.

When i click the same link in the backend, it just says 'webform_components_form'. and that didnt
work (not for any form, and not for for all forms). entering the same id manually in the captcha config
didnt work either ...

thanks,
*-pike

montesajudy’s picture

Issue summary: View changes

#1 worked for me.
I'm using version 7.x-4.12 Webform and version 7.x-1.3 Captcha.