0

私は自分のサイトで特別な facebook ログインを実行しています。ユーザーがクリックすると、次のことが発生する必要があります。

  • FBとつながる
  • Facebook ID がユーザー データベースで既に認識されている場合は、XXX を実行します。
  • Facebook ID が認識されない場合は、YYY を実行します

何らかの理由で、facebook ID をチェックする ajax クエリが正常に機能していません。私はこれに数時間を費やしましたが、まだ運がありません(本当のタイムシンクのように感じ始めています)...クエリを0のみを返すように設定しても(たとえば、2番目のエコーも「エコー0」に変更します) 、そうではありません(関数全体を文字通り「エコー0」にまで削除しない限り)。なぜこれが起こっているのでしょうか?以下のコード:

関数で呼び出される ajax クエリ (var fbid の入力を使用):

<?php
    // configuration
    require("../html/includes/config.php"); 

    // connect to server
    $connect = mysql_connect(SERVER, USERNAME, PASSWORD);

    $fbid = $_POST["fbid"];

    $fbidcheck = query('SELECT * FROM usertable WHERE fbid = ?', $_POST["fbid"]);
    if (isset($fbidcheck[0]["fbid"]))
        echo 0;
    else
        echo 1;
?>

誰かがログインボタンをクリックしたときに呼び出される JS 関数:

// FB login function
function fblogin() {
    FB.login(function(response) {
        if (response.authResponse) {

            // Here, I want to test if the facebook ID is already in the table

            var fbid = response.authResponse.userID;
            $.post("check_fbid.php", {'fbid': fbid}, function(result)
            {    
               if(result == 0)
               {
                    // login in the user
                    // use fbid to call session, etc. for login
                    location.reload();
                    return true;
               }
               else
               {
                    // open new box on page to let user register
                    openRegisterBox();
                    return false;
               }
           });
        } else {
            // Login was cancelled or failed
            return false;
        }
    }, {scope: 'email'});
}

繰り返しますが、問題を突き止めて ajax クエリが正しく実行されていないことを突き止めました (何度か再作成を試みました)。どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1