Supanat T. Boss Ответов: 1

Facebook javascript SDK - как я могу анализировать данные из js в PHP?


Я хочу использовать JavaScript sdk, потому что новая версия facebook php sdk не поддерживает версию PHP моей компании.
Ладно, так... Я хочу, чтобы вставить адрес электронной почты FacebookUser к базе данных MySQL. Пожалуйста, посмотрите на функцию get_Info (). Я хочу значение "response. email" разобрать на PHP переменную и вставить в MySQL, но я не знаю, как это сделать, потому что эта переменная находится в функции js

Что я уже пробовал:

		 window.fbAsyncInit = function() {

  FB.init({
    appId: 'xxxxxxxx',  //Your appId
    xfbml: true,
    version: 'v2.8'
  });
  FB.AppEvents.logPageView();
  FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
      document.getElementById('status').innerHTML = 'We are connected.';
      document.getElementById('fb_login').style.visibility = 'hidden';
    } else if (response.status === 'not_authorized') {
      document.getElementById('status').innerHTML = 'We are not logged in.';
    } else {
      document.getElementById('status').innerHTML = 'You are not logged into Facebook';
    }
  });
};

(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {
    return;
  }
  js = d.createElement(s);
  js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

function fb_login() {
  FB.login(function(response) {
    if (response.status === 'connected') {
      document.getElementById('status').innerHTML = 'We are connected.';
      document.getElementById('fb_login').style.visibility = 'hidden';
    } else if (response.status === 'not_authorized') {
      document.getElementById('status').innerHTML = 'We are not logged in.';
    } else {
      document.getElementById('status').innerHTML = 'You are not logged into Facebook';
    }
  }, {
    scope: 'email'
  });
}

function getInfo() {
  FB.api('/me', 'GET', {
    fields: 'first_name,last_name,name,id,email'
  }, function(response) {
    var email = response.email;       /////////variable that I want to send to server-side ///////////

    var http = new XMLHttpRequest();      ///////////AJAX///////
    var url = "new 1.php";
    var data = "email=" + email;
    http.open("GET", url, true);    
    http.onreadystatechange = function() {//Call a function when the state changes.
        if(http.readyState == 4 && http.status == 200) {
            alert(http.responseText);
        }
    } 
    http.send(data);
  });
}

function fb_logout() {
  FB.logout(function() {
    document.location.reload();
  });
}


Html body
&ЛТ;див ИД="статус"&ГТ;&ЛТ;/дел&ГТ; &ЛТ;див ИД="status2"&ГТ;&ЛТ;/дел&ГТ;
&ЛТ;кнопка функция onclick="getInfo ()"и GT; информация&ЛТ;/кнопку&ГТ;
&ЛТ;кнопка функция onclick="fb_login()" идентификатор="fb_login"&ГТ; войти с Facebook &ЛТ; кнопка/&ГТ;
&ЛТ;кнопка функция onclick="fb_logout()"&ГТ; выход &ЛТ; кнопка/&ГТ;



в новом 1.php

<?php 
if($_SERVER['REQUEST_METHOD'] == 'GET'){
    $email = $_GET['email'];
    echo $email;
}
?>

1 Ответов

Рейтинг:
2

W∴ Balboos, GHB

Вам нужно вернуть свои данные на сервер либо через:

1) a & lt;form> К функции php на сервере для доступа к базе данных
2) AJAX (javaScript на стороне клиента- & gt;php на стороне сервера) для доступа к базе данных

Они не имеют ничего общего с Facebook SDK или любым другим-они являются частью того, как вы используете javaScript и php .