Сохранение информации о пользователе по клику на JavaScript
01.05.2018 07:11:12 am
Здравствуйте. На сайте есть рекламные блоки от разных партнерских программ. Я хочу, чтобы сохранялась информация о пользователях, которые кликают по рекламе в базе. Информация нужна:
1. Время клика.
2. Ip пользователя.
3. На какой блок кликнули.
Пожалуйста, помогите такое реализовать. Заранее спасибо.
1. Время клика.
2. Ip пользователя.
3. На какой блок кликнули.
Пожалуйста, помогите такое реализовать. Заранее спасибо.
- Жалоба
01.05.2018 09:27:52 am
Вы не рассказали, как у вас собраны блоки, но делается это примерно так: следим за всеми рекламными блоками, как только на какой то из блоков будет совершен клик, получаем название блока и отправляем его в PHP сценарий. На стороне сервера получаем IP пользователя и текущее время, затем выполняем запрос на добавление информации в БД.
Все это сделать могут помочь следующие записи:
- Метод addEventListener (JavaScript)
- Событие при клике на элемент (JavaScript: onClick)
- Как передать переменную из JavaScript в PHP
- Ajax на чистом JavaScript
- Операторы выборки Базы Данных MySQLi
Получить текущее время можно при помощи функции
Все это сделать могут помочь следующие записи:
- Метод addEventListener (JavaScript)
- Событие при клике на элемент (JavaScript: onClick)
- Как передать переменную из JavaScript в PHP
- Ajax на чистом JavaScript
- Операторы выборки Базы Данных MySQLi
Получить текущее время можно при помощи функции
time()
или date()
. Получить IP пользователя можно из переменной $_SERVER['REMOTE_ADDR']
.
01.05.2018 12:06:28 pm
Вот код рекламных блоков и js:
Как мне передать данные в php?
<div id="ad_sense_1">Код рекламы</div>
<div id="ad_sense_2">Код рекламы</div>
<div id="ad_sense_3">Код рекламы</div>
<script type="text/javascript">
function name_function() {
alert('Клик по элементу.');
};
var ad_sense_1 = document.getElementById('ad_sense_1');
ad_sense_1.addEventListener('click', name_function);
var ad_sense_2 = document.getElementById('ad_sense_2');
ad_sense_2.addEventListener('click', name_function);
var ad_sense_3 = document.getElementById('ad_sense_3');
ad_sense_3.addEventListener('click', name_function);
</script>
Как мне передать данные в php?
01.05.2018 02:26:19 pm
Я бы сделал так: Добавляю к блокам
Пишу сценарий:
И файл "data.php":
Переменная
class="ad"
:<div class="ad" id="ad_sense_1">Код рекламы</div>
<div class="ad" id="ad_sense_2">Код рекламы</div>
<div class="ad" id="ad_sense_3">Код рекламы</div>
Пишу сценарий:
function addData(variable) {
var url = 'data.php?block=' + variable;
var xmlh = new XMLHttpRequest();
xmlh.open('GET', url, true);
xmlh.send();
};
var blockAd = document.getElementsByClassName('ad');
for (var i = 0; blockAd.length > i; i++) {
blockAd[i].addEventListener('click', function() {
addData(this.id);
});
};
И файл "data.php":
if (!empty($_GET['block']))
{
// Тут все необходимы операции по сбору данных о пользователе и добавление их в БД
}
Переменная
$_GET['block']
будет содержать в себе имя класса блока, по которому кликнули.