На сайте есть страница с тестом. Она состоит из 3-х секций.
В первой отображается сколько раз тест уже был пройден.
Во второй собственно сам тест с вопросами.
В третьей результаты теста.
Мне нужно, чтобы при переходе со второй секции в третью (этот переход происходит при клике на кнопку "Показать результаты") значение счётчика увеличивалось на 1.
Собственно вопрос. Где лучше хранить это значение? И как его увеличивать?
Я сейчас тупо скопировал шаблон, создал пользовательское поле типа "Число" и привязал его к новому шаблону. Задал странице с тестом этот шаблон. Число вывел, всё ок. Но как его увеличивать? Или может вообще лучше как-то по-другому сделать?
upd. Переходы между секциями происходят без перезагрузки страницы и без AJAX.
upd2. В общем делюсь одним из решений. Не знаю насколько оно правильное или убогое, но оно работает. Буду ждать комментариев.
В папке assets создал два файла:
counter.txt
counter.php
В txt хранится текущее значение счётчика.
В php код, который увеличивает значение на 1. Вот сам код:
<?php
$cnt = file_get_contents('counter.txt');
$cnt++;
$file = fopen('counter.txt', 'w');
$write = fwrite($file, $cnt);
fclose($file);
В файле script.js добавляю два куска кода.
Первый делает AJAX запрос к txt файлу, забирает его содержимое и добавляет на страницу:
$.ajax({
url: "/assets/counter.txt",
dataType: "text",
async: true,
success: function(response) {
$('.counterWrap').text(response);
}
});
Второй по клику просто обращается к php файлу, не передавая никаких данных:
$('.btn').one('click', function() {
$.ajax({
url: '/assets/counter.php',
type: 'POST',
data: ''
})
});