We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 14779
    • 256 Posts
    I am having trouble getting the Websignup snippet to show the captcha codes. Here is my call:

    [!WebSignup? &useCaptcha=`1`!]

    What do I need to do?
      PM me to find out how you can get a FREE ipad 2!
      • 8478
      • 29 Posts
      I am having the same problem. Every time I test the form it gives me an error about the Captcha. When I set the snippet to display Captcha I get the form but no captcha image or pass code field, and if I try to send it acts as if the Captcha is there, I have checked to source to see if just maybe it was hidden with CSS... but no... no where to be seen. On the other hand if I turn of Captcha then it works fine, but I would like the added security of the Captcha. Please if any one has an answer I am sure me and the dude above me would be stoked for some insight. Thanks again, you MODX developers rock.

      Ed
        -Ed
        • 8478
        • 29 Posts
        Well the best I can find is it has something to do with this section of code in the "websignup.inc.php"
        <?php if ($useCaptcha){ ?>
                    <tr>
                      <td valign="top">Form code:*</td>
                      <td>
                      <input type="text" name="formcode" class="inputBox" style="width:150px" size="20">
                      <a href="[+action+]"><img align="top" src="manager/includes/veriword.php?rand=<?php echo rand(); ?>" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #003399"></a>
                      </td>
                    </tr>
                    <?php } ?>


        I can get the Captcha to appear by removing the PHP tags, but it would be nice to have this work as the passed variable.

        Hope this helps anyone looking into this... any one...lol

        Ed
          -Ed
          • 23217
          • 44 Posts
          Did you ever get an answer to this problem?

          Here is what I see:

          In websignup.inc.php, there is a section for the captcha code
          <?php if (useCaptcha){ ?>
          <tr>
          <td valign="top">Form code:*</td>
          <td>
          <input type="text" name="formcode" class="inputBox" style="width:150px" size="20">
          <a href="[+action+]"><img align="top" src="manager/includes/veriword.php?rand=<?php echo rand(); ?>" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #003399"></a>
          </td>
          </tr>
          <?php } ?>

          I believe this code is incorrect. I do not believe $useCaptcha will be defined in this scope. When I change the code to
          <?php global $myCaptcha; if ($myCaptcha){ ?>
          <tr>
          <td valign="top">Form code:*</td>
          <td>
          <input type="text" name="formcode" class="inputBox" style="width:150px" size="20">
          <a href="[+action+]"><img align="top" src="manager/includes/veriword.php?rand=<?php echo rand(); ?>" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #003399"></a>
          </td>
          </tr>
          <?php } ?>

          and add the lines
          global $myCaptcha;
          $myCaptcha = $useCaptcha;

          near the top of the file (just after the initial comments), all seems well.
            • 33271
            • 84 Posts
            Thank you smiley
            • FYI, this should also be fixed in MODx 0.9.6.3-RC1 as well.
                Garry Nutting
                Senior Developer
                MODX, LLC

                Email: [email protected]
                Twitter: @garryn
                Web: modx.com