验证验证码

时间:2012-03-26 09:32:20

标签: php jquery

我使用以下代码访问验证码

<img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id="captchaimg" ><br />
<label for="message">Enter the code above here :</label>
<input id="6_letters_code" name="6_letters_code" type="text">

我在表单中使用jquery验证,无法使用正确的图像验证验证码,我该如何验证它? 我有以下代码可以正常使用

if(empty($_SESSION['6_letters_code'] ) ||
  strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
    {
        //Note: the captcha code is compared case insensitively.
        //if you want case sensitive match, update the check above to
        // strcmp()
        $errors .= "\n The captcha code does not match!";
    }

指导我!三江源

1 个答案:

答案 0 :(得分:1)

您可以添加如下规则:

rules: {
    6_letters_code: {
       required: true,
       remote: "process.php"
    }
}

其中process.php是您要用来检查验证码的PHP URL - 您需要做的就是返回truefalse

Details of the remote option here

你的PHP应该是这样的:

if(empty($_SESSION['6_letters_code'] ) || strcasecmp($_SESSION['6_letters_code'], $_GET['6_letters_code']) != 0) {
   echo "false";
} else {
   echo "true";
}

似乎remote选项使用get而不是post。有live example here你可以使用Firebug(或任何浏览器调试器)来查看发送/接收的AJAX