Задать вопрос
@viktorross

Как записать событие Js в бд?

Здравствуйте, подскажите пожалуйста , хочу в шаблоне smarty обернуть рекламный блок ,чтобы отслеживать совершенные клики со стороны сайта, наподобие этого

<div class=“a-ad-container”>
<script>
$('.google-ad-container').click(function (event) {
  Рекламный скрипт
});
</script>


И записать куда-то , например в текстовый документ массив шаблона , как результат выполнения скрипта

{/literal}{ip_user}{literal}

Как это реализовать ? Подскажите пожалуйста или может есть уже какие-то варианты наподобие
  • Вопрос задан
  • 680 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@S-a-n-d-r-0
Как вариант:
На стороне клиента:
<div class=“google-ad-container”>someHTML...</div>
<script>
var google_ad_click = 0; //объявляете переменную, в которую будете считать клики
$('.google-ad-container').click(function (event) {
  google_ad_click = google_ad_click + 1; //считаете клики
});

setInterval(function () {
	var data = new FormData();
	data.append('google_ad_click_tratata', google_ad_click);
	$.ajax({ //отправляем все это дело на сервер
			type: "POST",
			url: "АДРЕСОБРАБОТЧИКАВСТАВИТЬСВОЙ.php",
			data: data,
			cache: false,
			processData: false, // NEEDED, DON'T OMIT THIS
			contentType: false, // NEEDED, DON'T OMIT THIS (requires jQuery 1.6+)
			dataType: 'json',
			success: function(respond){ //если ajax отправился нормально
				google_ad_click = 0; //обнуляем счетчик кликов, чтобы начал считаться снова
				console.log(JSON.stringify(respond)); //если вы что-то выводите на сервере, вывести это на консоль на клиенте
			}
			
			,error: function(xhr, status, error) //если ajax НЕ отправился нормально
			{
				console.log('ajaxError xhr:', xhr); //выводим ошибки в консоль
				console.log('ajaxError status:', status);
				console.log('ajaxError error:', error);
			}
		});
}, 30000); //проворачиваем это дело каждые пол минуты

</script>


На стороне сервера, в файле АДРЕСОБРАБОТЧИКАВСТАВИТЬСВОЙ.php
if ($_POST['google_ad_click_tratata'])
if (is_numeric($_POST['google_ad_click_tratata']))
{
	$addclicks = $_POST['google_ad_click_tratata'];
	//А дальше - добавляем значение addclicks к нужному полю в вашей БД
}

Код может быть с ошибками, не проверял, но суть такая
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы