无法将fbml插入数据库

时间:2013-07-13 03:46:52

标签: facebook-javascript-sdk fbml

您好我正在使用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做到这一点?谢谢!

2 个答案:

答案 0 :(得分:0)

您需要获取

的变量

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

在将其分配给

之前

$first_name

答案 1 :(得分: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处理其余部分,那将会容易得多。