jquery validate и php captcha issue

мое поле captcha

<p style="height:30px;"><img id="captcha" src="includes/secureimage/securimage_show.php?sid=<?php echo md5(time()); ?>" alt="CAPTCHA Image" /> <a tabindex="-1" style="border-style: none; margin-left:5px;" href="#" title="Refresh Image" onclick="document.getElementById('captcha').src = 'includes/secureimage/securimage_show.php?sid=' + Math.random(); return false"><img src="images/refresh.png" alt="Reload Image" onclick="this.blur()" style="vertical-align: top; border:0;" /></a></p></div> <p><label for="seccode">Verification Code:<span class="important">*</span></label><input id="seccode" type="text" name="seccode" size="10" class="required" /></p> 

мой код проверки правильности jquery для captcha

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

мой php

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

Я использую securimage для captcha. сообщение для требуемого условия для captcha работает. но удаленное состояние не работает. Конечно, я включил требуемый файл класса в php, а также начал session_start () в начале файла php.

[note] ошибка исчезла. теперь что-то новое. В первый раз captcha работает, когда я фокусируюсь, но после этого он продолжает обратный вызов метода проверки при каждом изменении .. см. Вывод firebug ниже …

 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 

Solutions Collecting From Web of "jquery validate и php captcha issue"

В основном, когда ваш jquery проверяет код captcha, код captcha уничтожается в той же самой функции, где выполняется проверка. То почему я получал проблему. Код отлично работает, как только вы снова обновите captcha.

При проверке требуется, чтобы вы вернули «истину», если удаленная проверка была успешной, также я предпочитаю использовать другую проверку на стороне сервера для удаленной проверки точно так же, как эта демонстрация .

Таким образом, проверка captcha будет, 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"; } ?> 

Откройте демонстрационную ссылку и включите свой firebug, и только отправьте поле имени пользователя с любым именем пользователя, а затем проверьте его с одним из принятых имен пользователей (например, « asdf »), вы заметите, что ответы на него похожи на мои ответы post_captcha.php !

Ибрагим