0

嗨,我正在使用 facebook javascript sdk,并且我使用 fbml 成功列出了登录的用户名,如下所示......

<fb:name uid="loggedinuser" useyou="false"></fb:name>

接下来我想做的是将此值分配给一个 php 变量并将其插入我的数据库中。我遇到的问题是当我将此值分配给这样的 php 变量时......

$first_name = ('<fb:name uid="loggedinuser" useyou="false"></fb:name>');

插入数据库的是文字表达

<fb:name uid="loggedinuser" useyou="false"></fb:name>

而不是用户的真实姓名。有没有办法用javascript sdk做到这一点?谢谢!

4

2 回答 2

0

FBML 数据是动态生成的,没有办法像这样传输数据,因为 FBML 会在 PHP 代码完成后加载。此外

$first_name = ('<fb:name uid="loggedinuser" useyou="false"></fb:name>');

永远不会评估字符串以外的任何内容,这就是 PHP 的工作方式。这一行代码不可能根据字符串确定其中的性质。

JavaScript SDK 已经提供了一种方法来做到这一点

FB.api('/me', function(response) {
  alert('Your name is ' + response.name);
});

尽管这是在 JavaScript 中,但您需要在 AJAX 调用中将数据发送到您的 PHP 应用程序。如果您只是在 JS SDK 登录后检索会话信息并让 PHP SDK 处理其余的事情,那会容易得多。

于 2013-07-13T16:49:52.277 回答
0

你需要得到的变量

<fb:name uid="loggedinuser" useyou="false"></fb:name>

在分配给它之前

$first_name

于 2013-07-13T04:00:53.610 回答