Управляйте $ _session с AJAX - PullRequest
       13

Управляйте $ _session с AJAX

0 голосов
/ 05 января 2011

Я уверен, что есть решение для этого, я уже пытался гуглить то, что я ищу, но еще нет ансера, так что вот моя маленькая проблема, у меня есть форма с капчей, капча, это оригинальная строка в $_SESSION['PASSWORD'], поэтому я хотел бы убедиться, что пользовательская лента имеет ту же строку, что и в $_SESSION['PASSWORD'].

Ну, я думаю, что мне нужно немного Ajax здесь, прежде чем отправить форму, я должен проверить $_SESSION['PASSWORD'] с AJAX и сравнить его с тем, что пользователь ленты

Любая помощь, пожалуйста, «Я не профессионал в AJAX», было бы здорово, если бы вы сделали это очень просто из меня.

Ответы [ 2 ]

0 голосов
/ 05 января 2011

HTML

<input type="text" id="captcha" name="captcha"> <!-- This is your captcha input -->

JQuery:

$.get('verify.php', { captcha: $('#captcha').val() }, function(data){
    if(data === 'OK'); //Validation is ok
    else; //Validation is wrong
});

PHP (verify.php):

<?php
    session_start();
    if($_GET['captcha'] === $_SESSION['password']) echo 'OK';
    else echo 'ERROR';
    exit();
?>

Все, надеюсь, вы примете ответ, увидев вашкоэффициент приема всего 20%

0 голосов
/ 05 января 2011

Создайте новый файл php и сделайте ajax-запрос к этому файлу. Затем проверьте, вернули ли вы истину или ложь.

session_start();
if($_SESSION['PASSWORD'] == $_POST['PASSWORD']) {
  echo "true";
}
echo "false";

Примечание: это не очень безопасно. Лучше проверить это, когда вы отправляете свою форму (предполагая, что это причина, по которой вы используете капчу). Не имеет значения, отправляете ли вы форму с помощью ajax или обычным способом отправки форм. Если вы проверяете только код с помощью ajax, то публикация данных по-прежнему возможна с помощью пользовательского http-запроса или еще проще, отключив JavaScript (что делает большинство ботов).

...