Я пытаюсь получить каждое значение счетчика 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'];
?>
заранее спасибо
Для этого вам нужно сделать 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;
}
?>
Вы не можете напрямую назначить переменную JavaScript для php, потому что PHP - это сценарий сценариев на стороне сервера и клиентская сторона JavaScript. Вы должны использовать Ajax send counter для функции и сохранять ее на сеанс, в ответ вы получите сохраненное значение сеанса.