jquery validate e php captcha issue

meu campo captcha

<img id="captcha" src="https://stackoverflow.com/questions/4533670/jquery-validate-and-php-captcha-issue/includes/secureimage/securimage_show.php?sid=" alt="CAPTCHA Image" /> Reload Image

meu jquery valida o código do plugin para captcha

 seccode: { required: true, remote: { url: "checkuser.php", type: "post", data: { seccode: function() { //alert($("#seccode").val()); return $("#seccode").val(); } } } } 

meu php

 if($_POST['seccode']) { $securimage = new Securimage(); return $securimage->check($_POST['seccode']); } 

Estou usando securimage para captcha. A mensagem para a condição necessária para captcha está funcionando. mas a condição remota não está funcionando. Claro que incluí o arquivo de class requerido no php e também iniciou session_start () no início do arquivo php.

[nota] o erro foi agora. algo novo vem agora. A primeira vez que o captcha funciona quando eu focar, mas depois disso, ele continua a chamar o método de validação em cada mudança … veja a saída do firebug abaixo …

 GET http://localhost:8080/property/html/captcha.php?seccode=pzubwg GET http://localhost:8080/property/html/captcha.php?seccode=pzubwg 200 OK 36ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=l GET http://localhost:8080/property/html/captcha.php?seccode=l 200 OK 39ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=ln GET http://localhost:8080/property/html/captcha.php?seccode=ln 200 OK 41ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnr GET http://localhost:8080/property/html/captcha.php?seccode=lnr 200 OK 36ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrg GET http://localhost:8080/property/html/captcha.php?seccode=lnrg 200 OK 38ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrgu GET http://localhost:8080/property/html/captcha.php?seccode=lnrgu 200 OK 32ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrgue GET http://localhost:8080/property/html/captcha.php?seccode=lnrgue 200 OK 25ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrgu GET http://localhost:8080/property/html/captcha.php?seccode=lnrgu 200 OK 34ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrg GET http://localhost:8080/property/html/captcha.php?seccode=lnrg 200 OK 40ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrgv GET http://localhost:8080/property/html/captcha.php?seccode=lnrgv 200 OK 42ms jquery.min.js (line 140) GET http://localhost:8080/property/html/captcha.php?seccode=lnrgve GET http://localhost:8080/property/html/captcha.php?seccode=lnrgve 200 OK 37ms 

   

Basicamente, quando seu jquery valida o código captcha, o código captcha é destruído na mesma function onde a validação ocorre. É por isso que eu estava começando o problema. O código funciona bem depois de atualizar o captcha novamente.

A validação requer que você retorne “verdadeiro” se a validação remota for bem-sucedida e também prefiro usar diferentes controlos do lado do servidor para validações remotas, assim como essa demo .

Então, a validação do captcha será, post_captcha.php :

 < ?php session_start(); include_once 'securimage/securimage.php'; $securimage = new Securimage(); if ($securimage->check($_POST['seccode']) == false) { // the code was incorrect // handle the error accordingly with your other error checking // or you can do something really basic like this //die('The code you entered was incorrect. Go back and try again.'); echo "false"; } else { echo "true"; } ?> 

Abra o link de demonstração e com o seu firebug habilitado e apenas envie o campo de nome de usuário com qualquer nome de usuário e, em seguida, verifique-o com um dos nomes de usuários (por exemplo, ” asdf “), você notará que as respostas são apenas minhas respostas de post_captcha.php !

Ibrahim