2013-03-07 60 views
0

我有一个下载页面。会员可以自由点击他们购买的歌曲并开始下载。现在我希望在同一时间发生Ajax请求,它会调整数据库中的下载次数。然后页面应该从数据库重新加载到计数器再次更新。如果计数器为零,则不再下载。 显然我的脚本不起作用。发生下载,但JQuery脚本不起作用。有人有解决方案吗?下载页面与JQuery请求

这是链接到下载页面:

<a href="get-download-files.php?file=xyz.zip"><img class="a_0" src="images/download.png" width="30" height="30" />XYZ-Song/a> 

而且这是在同一个页面上的Java脚本:

<script> 
$(document).ready(function(){ 
    $(".a_0").click(function(){ 
     $.get("zaehler.php?dl_id=1", function(data){ 
      $("#ausgabe").html(data); 
     }); 
    }); 

}); 
</script> 

这是请求文件:

<?php 
require_once 'includes/db_login.php'; 
$dl_id = $_REQUEST['dl_id']; 

// counter updaten 
$sql = 'UPDATE ' . $tbl_prefix . 'downloads 
     SET zaehler = zaehler - 1     
     WHERE dl_id = ' .$dl_id; 
mysql_query($sql); 
$abfrage = 'SELECT zaehler FROM ' . $tbl_prefix . 'downloads WHERE dl_id=' . $dl_id; 
$ergebnis = mysql_query($abfrage); 
while ($datensatz = mysql_fetch_array($ergebnis, MYSQL_ASSOC)) 
{ 
    echo '<h3 style="color:#333;">Dein Download-Stand</h2>'; 
    echo '<br /><br />Du hast noch ' . $datensatz['zaehler'] . ' Downloads zugut.'; 
} 
?> 

我感谢你。最好的问候, 海因茨

+1

是的,这可以做到,但它可以很容易地欺骗,允许用户下载多次,除非你更新'get-download-files.php?file = xyz.zip'脚本。 – 2013-03-07 15:58:18

回答

0

你不需要这个Ajax。在脚本get-download-files.php中,在将文件传递给浏览器之前更新数据库。

0

你试过这个吗?

<script> 
$(document).ready(function(){ 
    $(".a_0").click(function(){ 
     $("#ausgabe").load("zaehler.php?dl_id=1"); 
    }); 

}); 
</script> 

您可以检查您的代码是否通过在函数中添加alert()来执行。如果警报触发,则执行该功能。

​​