Ajax-код для запуска PHP-запроса после нажатия кнопки «Мне нравится» в Facebook - PullRequest
2 голосов
/ 23 июня 2011

У меня есть PHP ниже в файле с именем fblike.php. В другом файле у меня есть кнопка «Мне нравится» на Facebook. Функция «Мне нравится». Я хочу запустить приведенный ниже код при нажатии кнопки «Нравится» в Facebook.

Я знаю, что FB.Event.subscribe('edge.create', function(response) {} должен запускаться всякий раз, когда нажимается кнопка Like. Я знаю, что я, вероятно, должен использовать Javascript и, возможно, Ajax для запуска PHP на fblike.php.

Но после нескольких попыток я не могу заставить его работать. Какой конкретный код Ajax я могу включить в событие Facebook? Нужно ли что-либо делать с кодом кнопки «Мне нравится», чтобы событие Facebook работало?

$submissionid = $_POST['submissionid'];
$uid = $_POST['uid'];

mysql_connect("server", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());




$q = "INSERT INTO fblikes VALUES (NULL, '$submissionid', '$uid', NULL)";

$r = mysql_query($q);

if($r) 
    {

    echo "Success!";
    }
elseif(!$r) 
    {
    echo "Failed!";
    }

1 Ответ

0 голосов
/ 23 июня 2011

Попробуйте что-то вроде этого:

FB.Event.subscribe('edge.create', function(response) {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST", "path/to/yourscript.php", true);
    xmlhttp.send("submissionid="+response.submissionid+"&uid="+response.uid); 
});

По сути, вам придется извлечь переменные из ответа и отправить их через AJAX-запрос POST-метода к вашему PHP-скрипту.

При желании вы можете расширить функцию () для проверки на успешность:

if(xmlhttp.responseText == "Success!")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...