我正在尝试调试将用户个人资料加载到您可以编辑的表单中的Facebook脚本。
问题是当您第一次加载页面时,脚本不会返回$user_profile
数组。但是,随后刷新页面会使数组恢复正常。
如何在第一次加载页面时返回此数组,从而使其余的脚本运行?是AJAX
解决方案,还是JSON
?如果是这样我怎么去呢?
先谢谢。
<?php
$is_fb = false;
$is_linkedin = false;
$reg_method = $_GET['conn_social'];
if (isset($_GET['in_uid'])){
$cur_in_uid = $_GET['in_uid'];
}
if ($reg_method == "facebook"){
$is_fb = true;
}
else if ($reg_method == "linkedin"){
$is_linkedin = true;
}
if($is_fb) {
global $fbconfig;
$facebook = new Facebook(array( 'appId' => $fbconfig['appid'],
'secret' => $fbconfig['secret'],
'cookie' => true ));
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
//the below line is for debugging only - THIS PRINTS ON SCREEN REFRESH ONLY
print_r($user_profile);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
$is_fb_uid_exist = hl_check_fb_uid_exist($user_profile['id']);
if($is_fb_uid_exist){
$is_fb = false;
}
try{
$fql = "select name, first_name, last_name, birthday_date, sex, profile_url, hometown_location, current_location, work, activities, interests, music, tv, movies, books, quotes, about_me, website, education, sports, inspirational_people, languages, pic_square from user where uid=" . $user;
$param = array( 'method' => 'fql.query',
'query' => $fql,
'callback' => '' );
$fqlResult = $facebook->api($param);
}
}
?>
答案 0 :(得分:0)
第一行可能有问题..
$is_fb=false;
当页面重定向时,这评估为false?
如果是,那么这不会执行。
if($is_fb) {
//Your Code
//Your Code
}