2013-12-24 2 views
0

Мне нужна рука с приведенным ниже сценарием, я новичок в JSON и вам нужно хранить некоторые данные в базе данных MYSQL. Как я могу это сделать? Или если вы можете помочь со сценарием и подробным объяснением того, как хранить вход пользователя в систему с помощью Javascript SDK для Facebook в базу данных MYSQL. Чтобы сохранить их Имя и идентификаторКак сохранить данные с помощью JSON и PHP?

<?php 

$sApplicationId = 'YOUR_APPLICATION_ID'; 
$sApplicationSecret = 'YOUR_APPLICATION_SECRET'; 
$iLimit = 99; 

?> 
<!DOCTYPE html> 
<html lang="en" xmlns:fb="https://www.facebook.com/2008/fbml"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Facebook API - Get friends list</title> 
     <link href="css/main.css" rel="stylesheet" type="text/css" /> 
    </head> 
    <body> 

     <img src="facebook.png" class="facebook" alt="facebook" /> 

     <center> 
      <h1>Authorization step:</h1> 
      <div id="user-info"></div> 
      <button id="fb-auth">Please login here</button> 
     </center> 

     <div id="result_friends"></div> 
     <div id="fb-root"></div> 

     <script> 
     function sortMethod(a, b) { 
      var x = a.name.toLowerCase(); 
      var y = b.name.toLowerCase(); 
      return ((x < y) ? -1 : ((x > y) ? 1 : 0)); 
     } 

     window.fbAsyncInit = function() { 
      FB.init({ appId: '<?= $sApplicationId ?>', 
       status: true, 
       cookie: true, 
       xfbml: true, 
       oauth: true 
      }); 

      function updateButton(response) { 
       var button = document.getElementById('fb-auth'); 

       if (response.authResponse) { // in case if we are logged in 
        var userInfo = document.getElementById('user-info'); 
        FB.api('/me', function(response) { 
         userInfo.innerHTML = '<img src="https://graph.facebook.com/' + response.id + '/picture">' + response.name; 
         button.innerHTML = 'Logout'; 
        }); 

        // get friends 
        FB.api('/me/friends?limit=<?= $iLimit ?>', function(response) { 
         var result_holder = document.getElementById('result_friends'); 
         var friend_data = response.data.sort(sortMethod); 

         var results = ''; 
         for (var i = 0; i < friend_data.length; i++) { 
          results += '<div><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture">' + friend_data[i].name + '</div>'; 
         } 

         // and display them at our holder element 
         result_holder.innerHTML = '<h2>Result list of your friends:</h2>' + results; 
        }); 

        button.onclick = function() { 
         FB.logout(function(response) { 
          window.location.reload(); 
         }); 
        }; 
       } else { // otherwise - dispay login button 
        button.onclick = function() { 
         FB.login(function(response) { 
          if (response.authResponse) { 
           window.location.reload(); 
          } 
         }, {scope:'email'}); 
        } 
       } 
      } 

      // run once with current status and whenever the status changes 
      FB.getLoginStatus(updateButton); 
      FB.Event.subscribe('auth.statusChange', updateButton); 
     }; 

     (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); 
     }()); 
     </script> 

</body> 
</html> 
+2

Где код, чтобы сделать запрос JSON и т.д., где PHP-коду для обработки базы данных? –

+0

@ AndyHolmes У меня нет такого кода, я не знаю, как его написать и где его разместить, у меня есть только код, который я вставил. – user3055639

+0

Тогда мой друг, я бы сделал некоторое исследование перед публикацией. В Интернете есть много обучающих программ, которые помогут вам. Этот сайт не является сайтом запроса кода –

ответ

3

Сохраните данные в массиве, а затем используйте json_encode().

Посмотрите here.

В вашем цикле:

for (var i = 0; i < friend_data.length; i++) { 
    results += '<div><img src="https://graph.facebook.com/' + friend_data[i].id + '/picture">' + friend_data[i].name + '</div>'; 

    $.ajax({ 
     type: "POST", 
     url: "some.php", 
     data: { id : friend_data[i].id, name: friend_data[i].name } 
    }); 
} 

в some.php:

$tmpArray = array('id' => $_POST['id'], 'name' => $_POST['name']); 
$output  = json_encode($tmpArray); // <-- save this in your db, if you want to store a JSON string, but it doesn't seem to be optimized. You'd better to save ID and name. 
+0

Это скорее комментарий, чем фактический ответ –

+0

Как я могу это сделать, я использую javascript для получения информации о входе в систему, а exampje - на PHP – user3055639

Смежные вопросы