0

私のアプリケーションには Facebook ログインが統合されており、ユーザーが好きな記事が含まれています。ユーザーは、Web サイトに直接ログインしている場合にのみ、記事を高く評価できる必要があります。ログインしていない場合は、いいねボタンの上に透明なレイヤーを使用しています。クリックするとポップアップが開き、ユーザーは自分の FB アカウントにログインできます。

現在、以下の問題に直面しています。

ユーザーがポップアップからログインしてアプリケーションに戻った後、記事はまだ「いいね」されていません。これは、いいねをクリックしていないのに、いいねボタンのオーバーレイをクリックしたためです。そして、ユーザーはもう一度「いいね」をクリックする必要があります。このように、特定の記事は、ポップアップからログインした後、ユーザーが既にその記事を気に入ったと考えているため、重要な「いいね」を失っています。

この「問題」を克服するために何か提案してもらえますか。私はPHPを使用しています。

私の説明が十分でない場合はお知らせください。より具体的に説明するよう努めます。

ありがとう。

コード

if(!isset($_SESSION['User']) && empty($_SESSION['User'])){
//show login button
}  else{
//show logged in user credentials
}

次の方法でオーバーレイを作成する

<div class="FB_Like">
<div class="cover"></div>
<div class="fb-like" data-href="URL" data-send="false" data-layout="button_count" data-width="450" data-show-faces="true"></div>

4

1 に答える 1

2

問題を回避するには 2 つの論理的な方法があり、どちらも設計で構成されています。

  • 現在使用しているオーバーレイ システムを使用しないでください。その代わりに、いいねボタンを無効にして、「いいねにログイン」メッセージを表示します。そのため、ユーザーはまずログインしてからいいねする必要がありますが、メッセージによってこれが認識されます。ただし、あまりユーザーフレンドリーではありません。
  • 別の解決策は、いいねボタンをクリックしてもログインしていない場合です。ログインに成功した後、いいねアクションを facebook に送信するか、単にいいねボタンのクリック イベントをトリガーします。どちらのソリューションもクライアント側のイベントになります。「しかし、Facebook が見つけた場合に罰せられない方法はありません。」ここで別の答えを引用します。
于 2012-12-17T15:38:25.927 に答える