0

ユーザープロファイルを編集可能なフォームにロードする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);
    }

 }
?>
4

1 に答える 1

0

多分最初の行に問題があります..

    $is_fb=false;

ページがリダイレクトされている場合、これは false と評価されますか?

はいの場合、これは実行されていません。

   if($is_fb) {
     //Your Code
     //Your Code   
    }
于 2012-12-20T05:37:29.220 に答える