-1

ユーザーのバナー クリック数をカウントするための PHP プログラムがあります。私のバナーリンクは次のようなものです:

<a href="<?=$banner_url;?>" onclick="banner_click_count('<?=$banner_id;?>')"><img src=...>

ユーザーが画像をクリックすると、パラメータとしてbanner_click_count()関数が実行$banner_idされます。

function banner_click_count($ban_id)
{
$.ajax({
   type: "POST",
   url: 'banner_click.php',
   data: {banner_id: $ban_id}
   });

}

banner_click.phpで、 でbanner_idを取得し、それ$banner_id = $_GET['banner_id']);を基にデータベースを検索します。レコードを見つけて、banner_count列フィールドに 1 を追加します。その後、banner_urlにリダイレクトします。

プログラムを実行すると、オンラインになり Parse error: parse error, expecting T_VARIABLE' or '$''ます$.ajax({

補遺: 皆様のご協力によりエラーは解消されましたが、リンクをクリックすると、banner_urlに直接リダイレクトされ、AJAX 関数は実行されません。

補遺: alert("hello"); を入れました。ajax関数の一番上にあり、私はそれを手に入れました。だからそれは機能する

4

4 に答える 4

2

<script>1.タグの下にJavaScript関数を配置する必要があります

2.あなたは合格する必要がありますjson string as post data

3.データを投稿として渡しているため、このデータをphpで取得しますas $_POST not $_GET

したがって、関数を次のように変更します

<script>
function banner_click_count(ban_id)
{
$.ajax({
   type: "POST",
   url: 'banner_click.php',
   data: {banner_id: ban_id}
   });

}
</script>

// in your php use as below
echo $_POST['banner_id']
于 2012-10-14T08:12:21.080 に答える
1

banner_id が引用符で囲まれていること、およびページに JQuery が含まれていることを確認してください。そして、成功/エラーのリターンを忘れないでください。

$.ajax({
   type: "POST",
   url: 'banner_click.php',
   data: {'banner_id': $ban_id},
   success: function(s) { 
     console.log('success' + s);
   },
   error: function(e) {
     console.log('error' + e);
   }
});
于 2012-10-14T08:19:00.057 に答える
0

return false関数が終了する前にaは必要ありませんか?

于 2012-10-14T08:53:33.080 に答える
0

私は解決策を見つけました。ありがとうございます。

function banner_click_count(ban_id)
{
  $.post(
  "banner_click.php",
  {
  banner_id: ban_id
  });
}
于 2012-10-14T12:32:15.517 に答える