1

私のFacebookアプリでは、フォームを同じページに送信しています。
送信後、getUser() でユーザーがログインしていることを確認します。ユーザー ID が取得できれば、POST データがデータベースに保存されます。
以下のコードは、Mac と PC の両方の Chrome、Firefox、Safari で動作します。
しかし、IE 8 で最初にフォームを送信すると、getUser() は 0 を返します。その後、再度フォームを送信すると、ユーザー ID を取得できます。
最初の送信時にユーザー ID を取得できない理由がわかりません。誰でも助けることができますか?
ありがとう!

<?php
$facebook = new Facebook(array(
  'appId'  => FACEBOOK_APP_ID,
  'secret' => FACEBOOK_SECRET_KEY,
));

// Get User ID
$user = $facebook->getUser();
?>

<form action="" method="post" id="form1" name="form1">
...
</form>
4

1 に答える 1

0

残りのコードは表示されませんが、$user を持っているかどうかを尋ねられた場合、認証またはログインを要求する必要があります。次のようなものがあります。

if(!$user) make the login request
else continuos with your code.

Facebook 開発者側で Facebook 用の sdk php コードまたは JavaScript ライブラリを確認します。

ユーザーを取得しようとしているときに他の問題が発生し、エラーが発生する可能性があります。

try{
    $user = $facebook->getUser();
}catch (exception *e){
//is there is and error you have to login again to get the users data
}

これがあなたに役立つことを願っています

于 2012-07-08T07:35:26.627 に答える