I am working on a website based on ExpressionEngine, which requires captcha on the member registration form.

For this, I enabled Membership captcha, and added the below code in the form.

{if captcha}
    <p>Please enter the word you see in the image below:</p>
    <p>{captcha}<br />
    <input type="text" name="captcha" value="" size="20" maxlength="20" style="width:140px;" /></p>

It works fine, it shows the captcha as required. But the problem is, the website is divided into 2 parts:

  • Free membership registration
  • Paid membership registration

And I require captcha only on "Free membership registration" form and not on all the membership registration forms. I tried almost everything, and it has been 2 days, I am stuck with this problem.

Please let me know, how can carry this out? Help on this will be highly appreciated. Many thanks.

2 Answers 2


Unfortunately, requiring a captcha is site-wide, not form-specific.

I'd suggest instead looking at Snaptcha, which is far more effective and requires no input from the user.


Thanks Derek Hogue for the reply. But I have found a work-around for this. I manipulated the config file according to the URI.Changed the LINE #173, and added an IF-ELSE condition.

if(stristr($_SERVER['REQUEST_URI'],"<Mypage_URI_Where_I_Dont_Cant_Captcha>") || stristr($_SERVER['HTTP_REFERER'],"<Mypage_URI_Where_I_Dont_Cant_Captcha>")){
    $config['captcha_require_members'] = 'N';
    $config['captcha_require_members'] = 'y';

I hope this helps someone looking for a similar work-around. Many thanks once again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.