Я создаю фан-фейсбук, который, когда пользователю нравится моя страница, отображает форму, позволяющую пользователю принять участие в конкурсе.
Как мне проверить, если пользователь ужепринял участие в конкурсе.
Поэтому, когда браузеры запрашивают фрейм, содержащий мою страницу в Facebook, мой php-файл сначала проверяет, принял ли пользователь участие в конкурсе (на основе идентификатора пользователя facebook), а затем показываетопределенное изображение, если не показать форму ввода для конкурса.
edit
, так что это мой код в данный момент
<?php
require_once 'facebook-php-sdk/src/facebook.php';
$fbAppArray = array(
'appId' => 'xxx',
'secert' => 'xxxxxxx',
);
$fbAppObj = new Facebook( $fbAppArray );
$signedRequest = $fbAppObj->getSignedRequest();
function parsePageSignedRequest()
{
if( isset( $_REQUEST['signed_request'] ) )
{
$encoded_sig = null;
$payload = null;
list( $encoded_sig, $payload ) = explode( '.', $_REQUEST['signed_request'], 2 );
$sig = base64_decode( strtr( $encoded_sig, '-_', '+/' ) );
$data = json_decode( base64_decode( strtr( $payload, '-_', '+/' ), true ) );
return $data;
}
return false;
}
?>
я тогда называю это
<?php
if( $signedRequest == parsePageSignedRequest() )
{
if( $signedRequest->page->liked )
{
echo "you liked me";
}else{
echo "Please like the application so you will be able to see the contents...";
}
}
?>
это тоже проверка, понравилась ли пользователю страница или нет, но, похоже, она не работает.($ signatureRequest-> page-> like) это, кажется, всегда оценивается как false, даже если пользователю понравилась страница
есть идеи, почему?
Cheers