2013-03-07 49 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()來執行。如果警報觸發,則執行該功能。

​​