Php 如何检查Facebook用户';在启动应用程序之前,s ID已存在?
简短描述。我正在为Facebook开发flash游戏。当用户启动应用程序时,我需要第一次显示注册表。它应该检查用户是否已经注册(存在于数据库中)Php 如何检查Facebook用户';在启动应用程序之前,s ID已存在?,php,mysql,facebook,facebook-graph-api,redirect,Php,Mysql,Facebook,Facebook Graph Api,Redirect,简短描述。我正在为Facebook开发flash游戏。当用户启动应用程序时,我需要第一次显示注册表。它应该检查用户是否已经注册(存在于数据库中) 目的。为了实现这一点,我需要获取Facebook用户ID,并在提供任何操作之前,检查数据库中是否存在Facebook用户ID 问题。如何获取Facebook用户Id并将其发送到registration.php?我应该有单独的文件来检查用户的存在,打开应用程序,获取Facebook用户的Id吗 我尝试过的内容:现在我尝试过类似的方法(代码注释中有一
目的。为了实现这一点,我需要获取Facebook用户ID,并在提供任何操作之前,检查数据库中是否存在Facebook用户ID
问题。如何获取Facebook用户Id并将其发送到registration.php?我应该有单独的文件来检查用户的存在,打开应用程序,获取Facebook用户的Id吗
我尝试过的内容:现在我尝试过类似的方法(代码注释中有一些解释): FacebookPermissions.php
包括一次“phpsdk/src/facebook.php”;
$app_id='xxxxx';
$app\u url='1http://www.facebook.com/myPage/app_xxxxx?ref=ts';
$facebook=新的facebook(数组)(
“appId”=>“您的应用程序id”,
“机密”=>“您的应用程序机密”
));
$user=$facebook->getUser();
如果($user){
//这里应该是用Facebook用户ID检查数据库的代码
//我不知道如何正确地实现它
$user_profile=$facebook->api('/me');
$id=$user_profile['id'];
会话_start();
$\会话['id']=$id;
//这里应该重定向到php文件,MySql查询在哪里进行检查?
//如果是,如何正确重定向?
}
其他的
{
//此部分用于请求用户的权限
$loginUrl=”http://www.facebook.com/dialog/oauth?client_id=" .
$app\u id.“&redirect\u uri=“.urlencode($app\u url)。”&scope=email”;
echo(“top.location.href=”。$loginUrl。“”);
}
这是一个php脚本,用于从表单中获取数据并将其插入数据库,但仅当数据库中不存在用户时才应使用它。而且表单应该只在这种情况下显示(如果用户不存在)
InsertData.php
要获取用户的Facebook ID,需要调用Graph API。要进行该API调用,首先需要通过调用代码的以下部分请求用户权限:
// this part is to ask permissions for user
$loginUrl = "http://www.facebook.com/dialog/oauth?client_id=" .
$app_id . "&redirect_uri=" . urlencode($app_url) . "&scope=email";
echo("<script> top.location.href='" . $loginUrl . "'</script>");
<?php
session_start();
$id = $_SESSION['id'];
$first_name = $_SESSION['first_name'];
$last_name = $_SESSION['last_name'];
$city = $_SESSION['city'];
$email = $_SESSION['email'];
$mysqli = new mysqli("localhost","xxx","xxx","xxx");
if ($stmt = $mysqli->prepare("INSERT INTO users (FB_Id, First_Name, Last_Name, City, Email) VALUE (?,?,?,?,?) "))
{
if (!$mysqli->set_charset("utf8"))
{
printf("Error loading character set utf8: %s\n", $mysqli->error);
}
$stmt->bind_param('sssss', $id, $first_name, $last_name, $city, $email);
$stmt->execute();
if ($stmt->error != '')
{
echo ' error:'.$stmt->error;
} else
{
echo 'success';
}
$stmt->close();
} else
{
echo 'error:'.$mysqli->error;
}
$mysqli->close();
// this part is to ask permissions for user
$loginUrl = "http://www.facebook.com/dialog/oauth?client_id=" .
$app_id . "&redirect_uri=" . urlencode($app_url) . "&scope=email";
echo("<script> top.location.href='" . $loginUrl . "'</script>");
$user_profile = $facebook->api('/me');