Ajax для размещения переменных в базе данных MySQL на Facebook Like Click - PullRequest
0 голосов
/ 17 июня 2011

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

Спасибо заранее,

John

В файле с помощью кнопки «Нравится» на Facebook:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script >

FB.Event.subscribe('edge.create', function(response) {
   $.ajax({
   url: "fblike.php", // the url of your php script
   context: document.body,
   success: function(){
      // if you want something to be executed when a result comes back
                      }
         });
});

</script>

<?php


session_start();

$uid = $_SESSION['loginid'];

$submissionid = mysql_real_escape_string($_GET['submissionid']);
$_SESSION['submissionid'] = $submissionid;


echo '<div id="fb-root"></div>';
echo "<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'your app id', status: true, cookie: true,
             xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
echo '</script>";

echo '<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">';

echo '<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="" send="true" layout="button_count" width="450" show_faces="false" font="arial"></fb:like>'; 

php?>

На fblikephp:

<?php




session_start();

$uid = $_SESSION['loginid'];
$submissionid = $_SESSION['submissionid'];


mysql_connect("host", "user", "pw") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());


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






?>

Ответы [ 2 ]

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

Вы вызываете обработчики FB ДО того, как загрузите их скрипт

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

Без обид, но я думаю, что вы полностью смешиваете Javascript и Server Side Script.

Базовое введение в эту концепцию дано в моем ответе здесь

Но, чтобы ответить на ваш вопрос, по моему мнению, вы не настроили свои сессии PHP должным образом.

Возможно, вы запускаете создание двух сеансов. Один перезапишет другой, если вы не управляете ими должным образом, и вы потеряете значения переменных сеанса.

Попробуйте отобразить переменные сеанса и попробуйте использовать отладчик HTTP (например, Charles ), чтобы выяснить, какой из ваших сеансов является ПОСЛЕДНИМЫМ для создания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...