javascript — файл PHP, открываемый AJAX — выдает предупреждение Captcha и отправляет url-данные

Сидим на этом уже целый день, веришь ты или нет 🙂
Я хочу передать данные с помощью GET-метода во внешний файл .jsp (example.com/data.php?attribute=value&а2 = v2 и тд)

Это все, кажется, работает до сих пор, а также проверки. Теперь у меня проблема в том, что у меня есть капча, которая генерируется php-файлом, и капча контролируется / проверяется в PHP-файле, где размещаются данные HTML-формы.

Когда все в порядке, я могу сделать предупреждение в submitHandler (успех: функция (ответ)), но как я могу получить предупреждение сейчас, если капча неверна?

Как я могу решить это? Могу ли я получить значение переменной oder через AJAX из PHP-файла, чтобы что-то с ним сделать (для отображения предупреждения)?

Был бы очень рад за любую помощь или комментарии.

Спасибо!

ВОТ данные проверены и отправлены в файл PHP после успешной проверки.

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">
(function($,W,D)
{
var JQUERY4U = {};
JQUERY4U.UTIL =
{
setupFormValidation: function()
{
$("#form-id").validate({
rules: {
firstname: "required",
.........
},
messages: {
firstname: "Please enter your firstname",
..........
},
submitHandler: function(form)
var data = $("#nachricht").serializeArray();
$.ajax({
type:"POST",
url:"nachricht.php",
data: data,
dataType: "text",
success: function(response) {
alert('Thank you!');
}
});
}
});
}
}
$(D).ready(function($) {
JQUERY4U.UTIL.setupFormValidation();
});
})(jQuery, window, document);

ФАЙЛ PHP:
Здесь данные переносятся на другой URL (GET-метод) и проверяется капча

$email = urlencode($_POST['email']);
$name = urlencode($_POST["name"]);
....

session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["captchafield"] == $_SESSION['captcha_spam']) // Captcha korrekt
{
unset($_SESSION['captcha_spam']);

$link = "http://www.example.com/data.jsp?email=" . $email . "&name=" . $name . $titel . "&text=" . $text . "&ranking=" . $ranking . "&captchafield=" . $captcha_s;

header( "refresh:0;url=" . $link);
exit;
....

0

Решение

Хорошо, теперь у меня есть PHP-файл, в который отправляется форма:

if(enteredcaptcha == captcha){
echo "<script type='text/javascript'> alert('captcha_correct');</script>";
} else {
echo "<script type='text/javascript'> alert('captcha_not_correct');</script>";
}

и в моем обычном HTML-файле, где находится форма и Javascript:

submitHandler: function(form) {
var data = $("#kommentar").serializeArray();
$.ajax({
type:"POST",
url:"kommentar.php",
data: data,
dataType: "text",
success: function(response) {
if( response == "captcha_is_correct" ){ alert("Success"); } else { alert("unsuccess.."); }
}
});

}

И это действительно имеет смысл, замечательно, но я всегда получаю сообщение «unsucces», так что я думаю, что все еще есть ошибка?

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector