我需要一个使用 facebook 的登录系统,这是我需要的一些要求,例如 facebook 登录,第一次登录我的网站时自动墙贴。需要将用户名、电子邮件、facebookid、访问令牌插入 mysql。当我使用此代码进行测试时,我创建了 facebook 应用程序 facebook 登录工作并重定向到我的页面,但没有墙贴,也没有插入数据库。
<?php
require_once('config.php');
require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => '##########',
'secret' => '#######################',
'cookie' => true
));
$user = $facebook->getUser();
$access_token = $facebook->getAccessToken();
if($user)
{
$udata = $facebook->api($user);
$facebook_id=$udata['id'];
$name=$u['name'];
$email=$u['email'];
$gender=$u['gender'];
$query = mysql_query("SELECT * FROM facebookusers WHERE facebook_id = '$facebook_id' ");
$count=mysql_num_rows($query);
if($count == 0)
{
$ins = "INSERT INTO `facebookusers` (`facebook_id`, `name`, `email`, `gender`, `access_token`)
VALUES ('$facebook_id', '$name', '$email', '$gender', '$access_token')";
$result = mysql_query($ins) or die('Failed to connect to server: ' . mysql_error());
$news = array(
'access_token' => '$access_token',
'message' => 'Test Message',
'name' => 'Facebook Application Test Link',
'link' => 'mydomain.com',
'caption' => 'Test Caption',
'description' => 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.',
'picture' => './picture.png'
);
$facebook->api('/me/feed', 'POST', $news);
}
?>
<?php
}
else
{
$loginUrl = $facebook->getLoginUrl(array( 'req_perms' => 'email,user_birthday,status_update,offline_access'));
echo '<a href="'.$loginUrl.'"><img src="facebook.png" title="Login with Facebook" /></a>';
}
?>