我正在使用PHP开发一个facebook应用程序。 我可以使用以下代码登录
<?php
$app_id = "XXXXXXXXXXXXXXXXX";
$canvas_page = "http://apps.facebook.com/sandysfirst/";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" .urlencode($canvas_page)."&scope="."publish_stream,read_stream,offline_access";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
}?>
<?php
include_once "src/facebook.php";
$app_id = 'XXXXXXXXXXXXXXXXXXX';
$application_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$facebook = new Facebook(array(
'appId' => $app_id,
'fileUpload' =>true,
'secret' => $application_secret,
'cookie' => true, // enable optional cookie support
));
if ($facebook->getSession()) {
$user = $facebook->getUser();
$uid = $facebook->getUser();
$fbme = $facebook->api('/me');
echo "<br/><br/><br/><br/> Welcome ".$fbme['name'];
}
echo "<html>
,HTML下面是表单操作。 我想知道在提交表单后如何在第二页上获得相同的用户ID或会话。 我没有使用sdk 3.0的facebook.php。
答案 0 :(得分:1)
我不知道facebook api,但是从一些基本的php中你可以使用一些方法:
1 - 将uid添加为表单中的隐藏字段。
<input type="hidden" name="uid" value="$uid">
2 - 将其添加到操作网址
<form action="submit.php?uid=$uid">
然而,更好的方法是使用facebook api,就像你已经在那里列出的那样(来自include_once "src/facebook.php";
),每次检索uid,否则你将它保持开放状态安全黑客(容易传递表格中的假uid)。