2017-04-18 7 views
-1

私は 'like'カウンターを作成したいと思います。PHPのようなカウンター

現在、私はphpでボタンをクリックしてlike.phpをクリックします。データベースのカウントを更新し、カウント数をjqueryにエコーバックします。

$('btn').on('click',function(){ 

    $.ajax({ 
     url: 'like.php', 
     type: 'post', 
     data: someData, 
     dataType: 'json', 
    }).done(function(response){ 

     //increase like shown on response 

    }).fail(function(jqXHR, textStatus, errorThrown) { 

    }); 

}); 

これは、クライアント側から好きなようにトリガされます。


私はPHPファイルを呼び出すためにクリックするボタンのようではなく、サーバ側でこれを実行したいと思います:

例(私は私のページでこれを置く):

<a href="like.php?id=45">like</a> 

そして、上記のようにデータベース内のlike.phpの更新回数。

2質問:

  1. は、それは私がこれをクリックすると、変更しないURLのために可能ですか?

  2. このように、like.phpのカウントをどのように戻すことができますか?あなたの最初の質問に

+2

のご質問は、あなたがすでにやるように、AJAXを使用することです。なぜあなたはAJAXを使わないようにしていますか?実際の問題は何ですか? – David

+0

1.いいえ、URLはとにかく変更されます。 2.値のクエリ文字列(示唆されていない)で現在のページにリダイレクトするか、またはセッション(提案されていない)に値を設定できます。ところで、現在のページにリダイレクトすると、デフォルトでdbからカウントを取得して現在のページに表示することができます。したがって、セッションまたはクエリ文字列は必要ありません。これらのすべてを行う代わりに、単にajaxを使用してください。それが最善の解決策になります。 – siddiq

+2

質問:私はPHPや何かで書かれたジョブを介してこのリンクを呼び出すのを防ぐために何ができますか?とrunnnigは毎秒1000回ですか?有効なデータをどのように入手しますか(1人のユーザーに1回のみ投票させる)あなたのアプローチには論理がありません。 – JustOnUnderMillions

答えて

0

(私は最初の例のようにlike.php呼び出すために、AJAXを使用していけない理由):単になし! しかし、あなたはそれを送信ボタンにして、同じURLに投稿してURLを変更しないで、データを送信することができます...

あなたのlike.phpは返さなければなりませんあなたのカウンタ値と全体のhtml;)

チェリオ:)

関連する問題