Как получить значение JQuery в сеансе PHP на той же странице

0

Я пытаюсь получить каждое значение счетчика jquery в php-сессии на одной странице, но мне не удалось, пожалуйста, направляйте меня, что мне делать.

Это мой код

<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var counter = (function() {
    var count = 0;
    return function() {
        count++;
        return count;
    };
})();

$('#button').click(function() {
    $('#counter').text(counter());
    Counter=$("#counter").val();
});

});
</script>

<input type="button" id="button" value="Click me!" />
<div id="counter">0</div>

<?php
echo $_SESSION['Counter'];
?>

заранее спасибо

Теги:
count

2 ответа

2

Для этого вам нужно сделать AJAX-вызов. Рассмотрим этот пример:

Сначала свяжите свою кнопку, чтобы сделать вызов ajax, каждый клик, запрос на сервер, чтобы начать приращение.

<input type="button" id="button" value="Click me!" />
<div id="counter"><?php echo (isset($_SESSION['counter'])) ? $_SESSION['counter'] : 0; ?></div>

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#button').on('click', function(){
        $.ajax({
            url: 'index.php',
            data: {counter: true},
            type: 'POST',
            dataType: 'JSON',
            success: function(response) {
                $('#counter').text(response);
            }
        });
    });
});
</script>

Затем сервер устанавливает счетчик сеанса.

<?php

// initial setting
if(!isset($_SESSION['counter'])) {
    $_SESSION['counter'] = 0;
}

// for every click increment the counter
if(isset($_POST['counter'])) {
    $_SESSION['counter']++;
    echo json_encode($_SESSION['counter']);
    exit;
}

?>
  • 1
    Спасибо @kevinabelita за ответ, он действительно отлично работает, как я хочу, большое спасибо
1

Вы не можете напрямую назначить переменную JavaScript для php, потому что PHP - это сценарий сценариев на стороне сервера и клиентская сторона JavaScript. Вы должны использовать Ajax send counter для функции и сохранять ее на сеанс, в ответ вы получите сохраненное значение сеанса.

  • 0
    спасибо за ваш ответ @ Rorschach, но я не знаю, как использовать ajax для передачи формы значения get или post, так что вы можете мне помочь, вы можете опубликовать этот пример кода здесь?
  • 2
    Вы уже получили, просто проверьте ответ @kevinabelita

Ещё вопросы

Сообщество Overcoder
Наверх
Меню