我完全是PHP和MySQL的新鲜事,但我是在我的网站上执行Facebook PHP SDK。 至今为止,所有项目都做了罚款,但努力将用户数据输入我的数据库(MySQL)。 我拥有的只是数件,而不是用户名称和 o(我获得两个领域的5号)。 这是法典:
<?php
define( db_user , myUserName );
define( db_password , myPassword );
define( db_host , myHost );
define( db_name , myDbName );
// Connect to MySQL
$dbc = @mysql_connect (db_host, db_user, db_password) OR die ( Could not connect to MySQL: . mysql_error() );
// Select the correct database
mysql_select_db (db_name) OR die ( Could not select the database: . mysql_error() );
require lib/facebook.php ;
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
appId => MYAPPID ,
secret => MYSECRET ,
cookie => true));
// Get User ID
$user = $facebook->getUser();
// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don t know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
if ($user) {
try {
// Proceed knowing you have a logged in user who s authenticated.
$fbuid = $facebook->getUser();
$user_profile = $facebook->api( /me );
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}else{
header( Location: index.php );
}
$query = mysql_query("SELECT * FROM users WHERE oauth_provider = facebook AND oauth_uid = ". $user[ id ]);
$result = mysql_fetch_array($query);
if(empty($result)){
$query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ( facebook , {$user[ id ]}, {$user[ name ]} )");
$query = msyql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());
$result = mysql_fetch_array($query);
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$paramsout = array( next => http://www.mywebsite.com/test/logout.php );
$logoutUrl = $facebook->getLogoutUrl($paramsout);
}
?>
上述网页称为用户网页。 php和用户被转至标识之后的地点。 我试图将“数据库”代码转换为索引.php(用户确实有标识),但迄今所做的一切努力都未成功。 这是指数.php:
require lib/facebook.php ;
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
appId => MYAPPID ,
secret => MYSECRET ,
cookie => true));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who s authenticated.
$fbuid = $facebook->getUser();
$user_profile = $facebook->api( /me );
header( Location: user_page.php );
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(Array( scope => user_interests,user_activities,user_education_history,user_likes,user_about_me, user_birthday, user_groups, user_hometown, user_work_history, email ,
redirect_uri => http://www.mywebpage.com/test/user_page.php )
);
}
?>
<
$query = mysql_query("SELECT * FROM users WHERE oauth_provider = facebook AND oauth_uid = ". $user_profile[ id ]);
$result = mysql_fetch_array($query);
if(empty($result)){
$query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ( facebook , {$user_profile[ id ]}, {$user_profile[ name ]} )");
$query = msyql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());
$result = mysql_fetch_array($query);
}