Показать сообщение отдельно
  #1 (permalink)  
Старый 19.12.2016, 22:19
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Проверка кода каптчи, как правильно сделать?
Подскажите пожалуйста, как будет правильно сделать проверку введенного кода каптчи?

Я вот так пробовал сделать, но, remote возвращает false.


<?php
    session_start();
?>
<html>
<head>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="jquery.validate-1.15.0.min.js"></script>
<script type="text/javascript" src="jquery.form.js"></script>
<script type="text/livescript" src="additional-methods.js"></script>
<script>
$(document).ready(function(){
    
reloadcaptcha.onclick = function() {
  var captcha = $("#captcha");
  captcha.attr('src', captcha.attr('src').replace(/&d=.*$/, '') + '&d=' + new Date().getTime());
}
 
});
 
</script>


<script type="text/javascript">
       $('document').ready(function () {


            $('#form_reg').validate({

                //Правила для проверки

                rules: {

				"keystring":{ 
                   required: true,
					   keystring: { keystring: true },
                       minlength: 5,
                       maxlength: 15,
	                   remote: {url: "../kcaptcha/reg/form_example.php", type:"post" } 
			    },				

				},
                //Текста предупреждений

                messages: {
                "keystring":{ 
				    required:"Введите код с картинки!",
					remote: "Неверный код!"
                },
             },


			//Обработчик и отправка данных

                submitHandler: function (form) {
					
	
                }
                                                               
            });

        });

 </script>
</head>
<body>
 
<form method="post" id="form_reg" action="#">
<p>Enter text shown below:</p>
<p><img id="captcha" src="./reg/?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p id="reloadcaptcha">Показать другой код</p>
<p><input type="text" name="keystring" id="keystring"></p>
<p><input type="submit" value="Check"></p>
</form>
 
</body>
</html>


Обработчик form_example.php:

<?php
session_start();
?>

<?php
if(count($_POST)>0){
	if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] === $_POST['keystring']){
		echo "true";
	}else{
		echo "false";
	}
}
unset($_SESSION['captcha_keystring']);
?>
Ответить с цитированием