我正在尝试在我已经构建并运行的 MODx 站点中使用验证码图像。我能够看到验证码图像,但不幸的是验证码脚本无法设置可以在 modx 片段中访问的会话值,因此我无法将其与输入的值匹配。创建图像的脚本位于 modx/assets/captcha/captcha.php。我花了将近 3 天的时间来解决这个问题。我尝试了不同的方法来使其工作。但没有任何效果。有什么解决办法吗??有人来解决这个问题吗?
问问题
1197 次
2 回答
1
把它放在你的脚本中,如下所示:
//Start the session so we can store what the security code actually is
session_start();
//Set the session to store the security code
$_SESSION["security_code"] = $security_code;
并在检查的片段中:
//Continue the session
session_start();
//Check if the security code and the session value are not blank
//and if the input text matches the stored text
if ((!empty($_REQUEST["txtCaptcha"]) && !empty($_SESSION["security_code"]))
&& ($_REQUEST["txtCaptcha"] == $_SESSION["security_code"]) ) {
echo "<h1>Test successful!</h1>";
} else {
echo "<h1>Test failed! Try again!</h1>";
}
但是,如果您使用 Modx Revolution 更合适的解决方案是使用组件 FormIt ( http://rtfm.modx.com/display/ADDON/FormIt.Examples.Simple+Contact+Page ),带有“Recaptcha”或“Blank”无垃圾邮件字段”
于 2012-08-21T10:39:10.017 回答
1
Formit 有一个验证码 prehook - 你能把那个片段拆开看看他们是怎么做的吗?事实上,为什么不直接使用它而不是自己滚动,它可能会减少相当多的工作。
于 2012-08-21T16:56:56.233 回答