Счётчик переходов по ссылкам на PHP без SQL
В качестве базы данных выступает обычный ini-файл:
значение1=0
значение2=0
значение3=0
И на странице есть три div-а с ссылками
Нужно, чтобы к числу прибавлялась единица, но только у того ключа, который совпадает с заданной к нему ссылкой (то есть если был переход по второму div-у, то в ini-файле +1 должно быть у значение2)
Ответы (1 шт):
Чтобы реализовать такую функциональность, вам потребуется использовать JavaScript на стороне клиента и серверный язык программирования (например, PHP) для работы с ini-файлом.
На странице вы можете навесить событие "click" на каждый div с ссылкой и обработать его с помощью JavaScript. В этом обработчике события вы можете отправить AJAX-запрос на сервер с информацией о том, какой div был нажат.
На сервере вы можете использовать PHP для чтения ini-файла, изменения нужного значения и записи измененного файла обратно. После этого вы можете отправить ответ клиенту с информацией об успешности операции.
Пример кода для чтения ini-файла:
$ini_array = parse_ini_file('path/to/ini/file.ini');
$value1 = $ini_array['value1'];
$value2 = $ini_array['value2'];
$value3 = $ini_array['value3'];
Пример кода для изменения значения и записи ini-файла:
$ini_array = parse_ini_file('path/to/ini/file.ini');
$ini_array['value1'] = $ini_array['value1'] + 1;
$ini_array['value2'] = $ini_array['value2'] + 1;
$ini_array['value3'] = $ini_array['value3'] + 1;
// Записываем измененный массив в ini-файл
$ini_string = '';
foreach ($ini_array as $key => $value) {
$ini_string .= "$key = $value\n";
}
file_put_contents('path/to/ini/file.ini', $ini_string);
Пример кода для отправки AJAX-запроса на сервер и обработки ответа:
// Обработчик события "click" на div с ссылкой
function handleClick(event) {
// Отправляем AJAX-запрос на сервер
$.ajax({
url: '/path/to/server/script.php',
type: 'POST',
data: { div_id: event.target.id },
success: function(response) {
console.log(response);
}
});
}
// Навешиваем обработчик события "click" на div с ссылкой
$('#div1').click(handleClick);
$('#div2').click(handleClick);
$('#div3').click(handleClick);
На сервере вы можете получить идентификатор div-а, который был нажат, с помощью переменной $_POST['div_id'] и выполнить нужную операцию с ini-файлом.
Пример кода на сервере для обработки AJAX-запроса:
$div_id = $_POST['div_id'];
$ini_array = parse_ini_file('path/to/ini/file.ini');
if ($div_id == 'div1') {
$ini_array['value1'] = $ini_array['value1'] + 1;
} elseif ($div_id == 'div2') {
$ini_array['value2'] = $ini_array['value2'] + 1;
} elseif ($div_id == 'div3') {
$ini_array['value3'] = $ini_array['value3'] + 1;
}
// Записываем измененный массив в ini-файл
$ini_string = '';
foreach ($ini_array as $key => $value) {
$ini_string .= "$key = $value\n";
}
file_put_contents('path/to/ini/file.ini', $ini_string);
// Отправляем ответ клиенту
echo 'Success';
В этом примере мы обрабатываем запрос на сервере, увеличиваем нужное значение в ini-файле и возвращаем клиенту статус "Success". Вы можете расширить этот код, чтобы обрабатывать различные ошибки и возвращать более подробную информацию клиенту.
Обратите внимание, что в этом примере я использовал функцию parse_ini_file для чтения ini-файла, но есть и другие способы работы с такими файлами в PHP.