我尝试使用Facebook登录但它仍然无法正常工作。问题是,在用户登录后,它不会在另一个页面中重定向,并且它不会将facebook帐户存储在mysql数据库中。拜托,你能给我一些热门的建议吗?
link:www.quatsch.cz
提前致谢。
<?php
include "connect.php";
require 'facebook/src/facebook.php';
require 'fb_config.php';
// Get User ID
$user = $facebook->getUser();
if($user)
{
try
{
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e)
{
error_log($e);
$user = null;
}
}
if($user)
{
$logoutUrl = $facebook->getLogoutUrl(array('next'=>'http://127.0.0.1:8080/fb/fb_logout.php'));
}
else
{
$loginUrl = $facebook->getLoginUrl(array( 'scope' => 'email, user_birthday, user_about_me, user_hometown, user_location, user_photos, friends_photos'));
echo '<a href="'.$loginUrl.'"><img src="images/facebook.png" title="Login with Facebook" /></a>';
}
if($user)
{
mysql_query("CREATE TABLE IF NOT EXISTS fb_users
(
id INT PRIMARY KEY AUTO_INCREMENT,
date DATETIME,
facebook_id VARCHAR(50),
username VARCHAR(200),
name VARCHAR(200),
email VARCHAR(200),
gender VARCHAR(10),
birthday VARCHAR(50),
location VARCHAR(200),
hometown VARCHAR(200),
bio TEXT,
timezone VARCHAR(10),
access_token TEXT
)");
$fb_info = $user_profile;
$date = date("Y-m-d H:i:s");
$facebook_id = mysql_real_escape_string($fb_info['id']);
$username = mysql_real_escape_string($fb_info['username']);
$name = mysql_real_escape_string($fb_info['name']);
$email = mysql_real_escape_string($fb_info['email']);
$gender = mysql_real_escape_string($fb_info['gender']);
$birthday = mysql_real_escape_string($fb_info['birthday']);
$location = mysql_real_escape_string($fb_info['location']['name']);
$hometown = mysql_real_escape_string($fb_info['hometown']['name']);
$bio = mysql_real_escape_string($fb_info['bio']);
$timezone = mysql_real_escape_string($fb_info['timezone']);
$access_token = $facebook->getAccessToken();
$id_check = mysql_query("SELECT * FROM fb_users WHERE facebook_id='$facebook_id'");
$exist = mysql_num_rows($id_check);
if ($exist > 0)
{
$update = mysql_query("UPDATE fb_users SET username='$username',name='$name',email='$email',gender='$gender',birthday='$birthday',location='$location',hometown='$hometown',bio='$bio',timezone='$timezone' WHERE facebook_id='$facebook_id'");
$_SESSION['id'] = mysql_result(mysql_query("SELECT id FROM fb_users WHERE facebook_id='$facebook_id'"), 0);
echo "<script>window.location.replace('home.php');</script>";
}
else
{
$insert = mysql_query("INSERT INTO fb_users VALUES ('0', '$date', '$facebook_id','$username','$name','$email','$gender','$birthday','$location','$hometown','$bio','$timezone','$access_token')");
$_SESSION['id'] = mysql_result(mysql_query("SELECT id FROM fb_users WHERE facebook_id='$facebook_id'"), 0);
echo "<script>window.location.replace('presmerovani.php');</script>";
}
}
?>
fb_config.php
<?php
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
$facebook = new Facebook(array(
'appId' => '******',
'secret' => '***',
));
?>