【发布时间】:2014-11-13 13:16:56
【问题描述】:
首先,我要感谢您花时间阅读我的帖子。
我正在尝试将 Facebook Javascript SDK 添加到网页中,当用户登录时,用户数据将使用 php 保存到 mysql 中。
我几乎可以弄清楚如何在 MYSQL 中插入 PHP 变量数据,但由于这是我第一次使用 Javascript 语言,所以我是全新的 :(
简而言之,我真正期待的是有人在一个简单的网页中向我展示以下内容:
1- 网页启动并检查用户是否已登录 Facebook,以及用户是否已登录应用程序(授予应用程序访问用户基本个人资料和电子邮件的权限)
2- 如果用户未登录 Facebook,用户将被重定向到 Facebook 登录页面,或者如果用户尚未授予应用程序权限,则请求必要的权限。
3- 如果用户通过了前两个阶段(用户成功连接),页面将显示以下消息“Hello Dear $User_Facebook_Name”。
$User_Facebook_Name 是从 Facebook Javascript SDK 由 Javascript 传递的 PHP 变量
我不想使用提交按钮将 Javascript 变量传递给 PHP(网站页面不刷新)。
我更喜欢使用 Facebook Javascript SDK、PHP、Jquery(Ajax) 来解决这个问题。
到目前为止,我有以下代码,页面显示消息,但使用 Facebook Javascript SDK,如下所示:
FB.api(uid, function(info) {
$('#welcome').html("亲爱的你好" + info.name);
index.php
<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/myscript.js"></script>
</head>
<body>
<div id="fb-root"></div>
Hello dear <?php> echo "$user_Facebook_Name"; ?>
</body>
</html>
myscript.js
window.fbAsyncInit = function() {
FB.init({
appId : 'App_ID',
xfbml : true,
version : 'v2.1'
});
//Next, find out if the user is logged in
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// the user is logged in and has authenticated your
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
FB.api(uid, function(info) {
$('#welcome').html("Hello dear " + info.name );
});
} else if (response.status === 'not_authorized') {
// the user is logged into Facebook,
// but has not authenticated your app
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=App_ID'; //Your Client ID
oauth_url += '&redirect_uri=' + 'http://website.com/'; //Send them here if they're not logged in
oauth_url += '&scope=email,user_friends';
window.top.location = oauth_url;
} else {
// the user isn't logged in to Facebook.
} //Response.status
}); // Get login status
}; //FB Async
// Load the JavaScript SDK Asynchronously
(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'));
任何帮助将不胜感激,并提前感谢您。
【问题讨论】:
标签: javascript php jquery ajax facebook