Javascript 如何从Facebook登录Java SDK获取response.id作为字符串
我陷入了以下过程: 下面是众所周知的“使用JavaScript SDK登录Web的Facebook”示例: 我想将Facebook用户ID作为一个简单的字符串传递给PHP变量。虽然打印$fbID时会显示用户ID,但它不是字符串 如何以简单字符串(或数字)的形式获取用户标识 这是我的密码:Javascript 如何从Facebook登录Java SDK获取response.id作为字符串,javascript,php,facebook,login,sdk,Javascript,Php,Facebook,Login,Sdk,我陷入了以下过程: 下面是众所周知的“使用JavaScript SDK登录Web的Facebook”示例: 我想将Facebook用户ID作为一个简单的字符串传递给PHP变量。虽然打印$fbID时会显示用户ID,但它不是字符串 如何以简单字符串(或数字)的形式获取用户标识 这是我的密码: <?php $fbID = "<script> function testAPI() { console.log('Welcome! Fetching your inf
<?php
$fbID = "<script>
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Successful login for: ' + response.name);
document.getElementById('status').innerHTML = response.id;
});
}
</script>";
?>
</script>
<div id="status">
</div>
<?php
echo $fbID;
$sql = "select id from customer where fbid = '$fbID' and status = '1'";
$table = mysqli_query($conn,$sql);
list($realid) = mysqli_fetch_array($table,MYSQLI_BOTH);
echo $realid;
?>
使用ajax将ID持久化到数据库中。将以下代码添加到FB.api('/me',函数(响应){}
函数中:
$.ajax({
url: 'persistID.php',
type: "POST",
dataType:'json',
data: ({id: response.id}),
success: function(data){
console.log(data);
}
});
并创建一个单独的persistID.php文件,在其中保存FacebookID:
<?php
$ID = $_POST['id'];
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO customer (fbid) VALUES ($ID)";
// Persist userid
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
谢谢您提供的信息!可以在同一个php文件上使用ajax查询的结果吗?E.q.我想在login.php上使用整个代码。在我获得$.ajax数据后,我只想在该页面上作为php变量$ID=$\u POST['ID']进行回显在PHP中,不要输出HTML和JavaScript,在PHP中。我个人认为这是不好的做法。在语法高亮的文本编辑器中看起来很糟糕,你必须担心逃脱的字符串…用纯HTML和JavaScript做你的东西,使用单独的PHP文件。用Ajax访问它们。调用。噢,我明白了!我不想最后在我的页面上回显这个,我知道,这是无用的:)我只想测试它,因为在我以前的代码中,我已经能够回显response.id,尽管我不能使用变量,因为它不是字符串。我已经在MySQL DB上与现有客户的同一行中有一个fbid,我的目标是将response.id传递给一个PHP变量,然后使用它从MySQL请求具有此fbid的受影响用户的id。