无法在数据库中保存facebook登录用户的详细信息
Unable to save facebook login user details in database
登录facebook后,我正试图将用户详细信息保存在数据库中。我使用的是javascript SDK。我已经通过"onlogin"进行了回调。我认为问题出在我的javascript代码上。请参阅下面的代码。
请帮忙!!
HTML:
<html>
<head>
<title>Facebook Login JavaScript Example</title>
<meta charset="UTF-8">
<script type="text/javascript">
$(document).ready(function(){
function std() {
FB.api('/me', function(response) {
var details = JSON.stringify(response);
var name = details.first_name + details.last_name;
var email = details.email;
var gender = details.gender;
});
$.ajax({
type: "POST",
url: "std.php",
data: "&name="+name+ "&email=" +email+ "&gender=" +gender,
success: function(){
alert("Success");
}
});
}
});
</script>
</head>
<body>
<div id="fb-root"></div>
<div id="fb-root"></div>
<script>
(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_GB/sdk.js#xfbml=1&version=v2.5&appId=AppID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-login-button" data-max-rows="3" data-size="large" data-show-faces="false" data-auto-logout-link="true" scope="public_profile,email" onlogin="std();">
</div>
</body>
</html>
PHP:
$servername = "localhost";
$username = "username";
$password = "password";
$connection = mysql_connect($servername, $username, $password);
if (!$connection){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $connection);
$name = $_POST['name'];
$name = mysql_real_escape_string($name);
$email = $_POST['email'];
$email = mysql_real_escape_string($email);
$gender = $_POST['gender'];
$gender = mysql_real_escape_string($gender);
$sql = "INSERT INTO newmember VALUES ( '', '{$name}', '{$email}' ,'{$gender}', '' ,'')";
$db->query($sql);
mysql_close($connection);
您的代码应该是
<html>
<head>
<title>Facebook Login JavaScript Example</title>
<meta charset="UTF-8">
<script type="text/javascript">
$(document).ready(function () {
});
function std() {
FB.api('/me', function (response) {
//var details = JSON.stringify(response);
var details = response;
var name = details.first_name + details.last_name;
var email = details.email;
var gender = details.gender;
$.ajax({
type: "POST",
url: "std.php",
data: "&name=" + name + "&email=" + email + "&gender=" + gender,
success: function () {
alert("Success");
}
});
});
}
</script>
</head>
<body>
<div id="fb-root"></div>
<div id="fb-root"></div>
<script>
(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_GB/sdk.js#xfbml=1&version=v2.5&appId=AppID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-login-button" data-max-rows="3" data-size="large" data-show-faces="false" data-auto-logout-link="true" scope="public_profile,email" onlogin="std();">
</div>
</body>
</html>
在标题上方的html文件头中添加jQuery。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
相关文章:
- 需要提取当前登录用户的用户名以在字段中输入
- 如何获取登录用户的twitter oAuth令牌
- 如何向登录用户隐藏选择加入脚本
- 如何使用javascript确定登录用户的浏览器版本和IP地址
- 获取登录用户的电子邮件(Firebase安全规则)
- Facebook js-sdk可以't检索已登录用户的名称
- Sencha Touch 2-登录用户状态
- 在 SharePoint 中获取登录用户的用户名并立即使用它
- jQuery / bubbling - 如何为非登录用户停止我的 JavaScript 代码
- 如何在 Meteor 的服务器上创建用户帐户后自动登录用户
- 使用javascript基于登录用户重定向URL链接
- FB的替代内容,例如非登录用户的框
- 插座.IO - 同一登录用户在两个不同浏览器中使用 socket.id
- 骨干.js如何跟踪登录用户状态和有关应用程序结构的一般建议
- 执行流星重置时,登录用户的应用程序页面冻结
- 像Yelp和urbandictionary这样的网站如何防止非登录用户的双重投票
- 主干.js具有用于创建用户和登录用户的验证的模型
- 网站似乎在没有向服务器发送密码的情况下登录用户;这是怎么回事
- Express js会话——仅为登录用户创建
- 如何使用phonegap+quickblox注册/登录用户