Я пытался проверить капчу в режиме реального времени, и я использую JQuery проверки версии 1.11.1.
я сохранил значение капчи в имени переменной сеанса security_code. Я использую удаленный метод JQuery. Я использую его в первый раз (плагин проверки jquery, и это только для целей обучения).
это мой код, показывающий, что я пробовал.
index.html
<label class="field">
<input type="text" name="securitycode" id="securitycode" class="gui-input sfcode" placeholder="Enter code">
</label>
validfile.js
securitycode:{
required:true,
remote: {
url: "a.php",
type: "post"},
messages:{
securitycode:{
required: 'Please enter security code',
remote: 'Please enter correct security code'
}
}
файл .php
<?php
if(isset($_POST['securitycode']))
{
if($_POST['securitycode']==$_SESSION['security_code'])
{
exit("true");
}
else exit("false");
}
exit();
?>
Примечание: я включил все допустимые файлы, а также я правильная директория
заранее спасибо
использование echo
вместо exit
,
<?php
if(isset($_POST['securitycode']))
{
if($_POST['securitycode']==$_SESSION['security_code'])
{
echo "true";
}
else echo "false";
}
exit();
?>
СОВЕТ:
Если все правильно настроено и remote
запускается, вы сможете увидеть ответ сервера из консоли браузера. В противном случае проверьте вашу консоль на наличие ошибок.
РЕДАКТИРОВАТЬ:
Я предполагаю, что этот код находится в пределах .validate()
Метод, однако, вам, кажется, не хватает некоторых скобок и вещей …
$('#yourForm').validate({ // <- you did not show us this part?
rules: { // <- this was missing, maybe you just forgot it when posting the question
securitycode: {
required:true,
remote: {
url: "a.php",
type: "post"} // <- this was missing, closing brace for 'remote'
} // <- this was missing, closing brace for 'securitycode'
}, // <- closing brace for 'rules'
messages: {
securitycode: {
required: 'Please enter security code',
remote: 'Please enter correct security code'
}
},
// other options and callbacks
});
Я решил это, глупый я, я всегда забываю добавить session_start (); в моем PHP-файле. Извините за потраченное время, ребята.
Поэтому решение этой проблемы — добавить session_start (); в .php