2010-06-29 2 views
0

Я хотел бы извлечь пользователей facebook-id и поместить его в php-переменную.Извлечь uid из Facebook Connect with php

Код, который я использую, из учебника видеоролика facebook и его работы. Я просто хочу иметь возможность использовать идентификатор пользователя в php-коде.

Это мой код:

<form action="" method="post"> 
<div id="user"> 
Name: <input name="name" size="27" /><br /> 
    <fb:login-button length="long" onlogin="update_user_box();"></fb:login-button> 

</div> 
<textarea name="comment" cols="30" rows="5"></textarea><br /> 
<input type="submit" value="Submit comment" /> 
</form> 


<script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php"></script> 

<script type="text/javascript"> 

function update_user_box() { 
var user_box = document.getElementById("user"); 
user_box.innerHTML = 
"<span>" 
+"<fb:profile-pic uid='loggedinuser'></fb:profile-pic>" 
+"Welcome, <fb:name uid='loggedinuser' useyou='false'></fb:name>. " 
+"You are signed in with your Facebook account." 
+"<fb:uid uid='loggedinuser'></fb:uid>" 
+"<a href='#' onclick='FB.Connect.logout(function() { reload(); }); return false;' ><img id='fb_logout_image' src='http://static.ak.fbcdn.net/images/fbconnect/logout-buttons/logout_small.gif' border='0' alt='Connect'/></a>" 
+"</span>"; 

FB.XFBML.Host.parseDomTree(); 
} 

FB.init("API-KEY","xd_receiver.htm"); 

FB.ensureInit (function() { 
     FB.Connect.ifUserConnected(update_user_box); 
}); 
</script> 
+1

Это JavaScript, а не Java. Это разные языки. –

ответ

0

Вы не можете передать переменную из JavaScript в PHP; JavaScript - это клиентский язык (т. Е. Он выполняется браузером), тогда как PHP - это серверный язык (то есть он выполняется сервером).

Возможно передать данные с JavaScript на PHP с использованием XMLHttpRequest (обычно называемого AJAX) для отправки HTTP-запроса на PHP-скрипт, но я не уверен, что это то, что вы хотите.

0

После входа пользователя в систему (обычно с использованием javascript FB.login()) установлен файл cookie. PHP может получить доступ к этому файлу cookie. Проверьте следующий PHP-код (от http://developers.facebook.com/docs/guides/web#login):

<?php 

define('FACEBOOK_APP_ID', 'your application id'); 
define('FACEBOOK_SECRET', 'your application secret'); 

function get_facebook_cookie($app_id, $application_secret) { 
    $args = array(); 
    parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); 
    ksort($args); 
    $payload = ''; 
    foreach ($args as $key => $value) { 
    if ($key != 'sig') { 
     $payload .= $key . '=' . $value; 
    } 
    } 
    if (md5($payload . $application_secret) != $args['sig']) { 
    return null; 
    } 
    return $args; 
} 

$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET); 

?> 

Вы можете получить $ печенье («UID»), и использовать что там, где вам это нужно.

На странице, на которую я ссылался, должно быть все, что вам нужно знать об использовании JavaScript SDK в сочетании с PHP.

0

Вы должны включить библиотеку facebook клиента для PHP, а затем вы можете получить идентификатор пользователя легко что-то вроде этого:

include ('facebook_client_library.php'); 
$facebook = new facebook('API', 'SECRET'); 
$fbid = $facebook->get_loggedin_user(); 
echo $fbid; 

Или попробуйте этот JavaScript (не уверен):

alert(FB.Facebook.apiClient.get_session().uid); 
0

Использование массив, Проверьте мой вопрос Facebook Registration Connect у него есть код, который я использовал, а затем просто добавьте

$fuid = $response["registration"]["user_id"]; 

Или, если это не сработает, то попробуйте

$fuid = $response["user_id"]; 

Надежда Я был помочь, Брэд

Смежные вопросы