PHP сессия управления Facebook - PullRequest
0 голосов
/ 15 ноября 2011

Я занимаюсь разработкой приложения для Facebook с использованием PHP.Я могу войти, используя приведенный ниже код

 <?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-код с действием формы.Я хочу знать, как я могу получить тот же идентификатор пользователя или сеанс на второй странице после отправки формы.Я не использую facebook.php SDK 3.0.

1 Ответ

1 голос
/ 15 ноября 2011

Я не знаю API Facebook, но из некоторых базовых php можно использовать несколько методов:

1 - Добавьте uid как скрытое поле в форме.

<input type="hidden" name="uid" value="$uid">

2 - добавить его к URL действия

<form action="submit.php?uid=$uid">

Однако лучший способ - использовать API-интерфейс facebook, почти так же, как вы уже указали его там (из include_once "src/facebook.php";), для извлечения uid каждый раз, иначе вы оставляете его открытым для хаков безопасности (легко передать поддельный uid в форме).

...