За последние 24 часа нас посетили 53045 программистов и 17209 роботов. Сейчас ищут 2130 программистов ...

API VK, PHP, JS

Тема в разделе "PHP для новичков", создана пользователем aksak1988, 18 фев 2017.

  1. aksak1988

    aksak1988 Новичок

    С нами с:
    18 фев 2017
    Сообщения:
    2
    Симпатии:
    0
    Всем привет

    Передо мной стоит задача получить список лайкнувших на странице сайта и записать это дело в файл.

    Добавлен на страницу сайта собственно сам виджет. А вот так я получаю из списка последнего человека, который нажал лайк (сформировав урл).
    Код (Text):
    1. <?php
    2. $res = file_get_contents('https://api.vk.com/method/likes.getList?type=sitepage&owner_id=1234567&page_url=http://site.ru&extended=1');
    3. $resp = json_decode($res, true);
    4. //echo $resp['response']['items'][0]['first_name'];
    5. ?>
    Все работает отлично, но помимо этого мне также необходимо получать IP каждого, кто лайкнул.
    Код (Text):
    1. $ip = getenv('REMOTE_ADDR');
    Попробовал так (соответственно не работает):

    Код (Text):
    1. <script>
    2. VK.Observer.subscribe("widgets.like.liked", function f()
    3. {
    4.     document.getElementById('like').innerHTML = '<?php echo $resp['response']['items'][0]['first_name'] . $ip; ?>';
    5. });
    6. </script>
    Одним словом надо чтобы при нажатии на лайк данные (id лайкнувшего и его ip) передавались в php и записывались в файл. Как через php отследить нажатие и отправить запрос?

    У меня уже 4.30 ночи, не судите строго, мозг уже не работает. Пробовал сам искать решение несколько часов, не нашел.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    а это вообще законно?
     
    Ivanov_Sania нравится это.
  3. aksak1988

    aksak1988 Новичок

    С нами с:
    18 фев 2017
    Сообщения:
    2
    Симпатии:
    0
    да, узнавать ip посетителей сайта можно без каких-либо проблем, другое дело для удобства настраивать связку с лайками, такая стоит задача.
    --- Добавлено ---
    если этот пункт пугает, его можно опустить без проблем, суть проблемы связать js и php, как передать что кнопка лайка была нажата и записать сразу в файл.
     
  4. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.151
    Симпатии:
    108
    Адрес:
    Украина
    Есь вот такое api:
    Код (Javascript):
    1. <script type="text/javascript"src="http://ip-jobs.staff-base.spb.ru/ip.cgi"></script>
    Но если не хочешь стороннее api - можно так:
    файл index.php:
    PHP:
    1. <script type="text-javascript">
    2. $(document).ready (function () {
    3.   $(".like").click (function () {
    4.     $.ajax({
    5.       url: 'getIP.php',
    6.       success: function(data) {
    7.         var ip = data;
    8.         alert (ip);
    9.       }
    10.     });
    11.   });
    12. });
    13. </script>
    14. <button class="like">Нажми меня</button>
    И файл getIP.php:
    PHP:
    1. $ip = $_SERVER['REMOTE_ADDR'];
    2. die ($ip);
    После выполнения на индексе появится переменная js со значением ip. Примечание: Тут используется JQuery.
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.213
    Симпатии:
    1.711
    Адрес:
    Молдова, г.Кишинёв