【发布时间】:2012-08-30 00:25:18
【问题描述】:
我在名为 facebook.php 的文件中有以下代码:
$user = json_decode(@file_get_contents(
'https://graph.facebook.com/me?access_token=' .
$cookie['access_token']));
在我的另一个页面上
require 'facebook.php';
<p>Welcome <?= $user->name ?></p>
这很好用,它会显示来自 facebook 的用户名。 (显然我有一个 facebook 应用程序可以让用户登录我的网站)
在 facebook.php 我也有:
$id = $user->id;
$name = $user->name;
$email = $user->email;
mysql_query("INSERT INTO facebook (id, name, email)
VALUES ('$id' , '$name' , '$email')");
此插入不起作用(未插入任何内容)。但是,如果我将代码更改为:
$id ='123';
$name = 'testname';
$email = 'blhalvlvlv';
mysql_query("INSERT INTO facebook (id, name, email)
VALUES ('$id' , '$name' , '$email')");
然后这会起作用,它将数据插入到数据库中的表中。为什么使用 $user->id $user->name 和 $user->email 不起作用?
【问题讨论】:
-
您是否确认 $user 已正确填充?
-
我认为它在其他页面上工作的事实是正确填充的。我不确定如何最终测试这一点。
-
简单的方法是 echo var_dump($user);看看你得到了什么
-
你是对的。它没有得到正确填充。我已经整理好了。你想纠正一个简短的答案,以便我接受吗:) 谢谢你的帮助。
-
如果您将 error_reporting 级别(和 display_errors)设置为 sensible 值,PHP 会告诉您这一点。所以请,在开发的时候设置这个选项!
标签: php mysql database facebook login