Sul mio sito metto a disposizione alcuni file da scaricare e vorrei tener traccia del numero di download.
Per fare questo ho pensato di fare così:
al click sul pulsante per il download avvio una funzione ajax che chiama uno script php passandogli come parametro il codice del file che si sta scaricando, lo script php poi aggiorna una tabella del db.
Questa seconda parte non ha alcun problema, se chiamo direttamente dalla barra degli indirizzi lo script php con parametro get, ogni volta che ricarico la pagina il db viene aggiornato.
Il problema è che invece cliccando sul pulsante l'aggiornamento non sempre avviene, come se la funzione ajax a volte fallisca la chiamata allo script php.
Questa è la funzione Ajax
E così è come la chiamocodice:function addDownload(softid) { var req; if(window.XMLHttpRequest){ //For Firefox, Safari, Opera req = new XMLHttpRequest(); } else if(window.ActiveXObject){ //For IE 5 req = new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.ActiveXObject){ //For IE 6+ req = new ActiveXObject("Msxml2.XMLHTTP"); } else{ //Error for an old browser alert("Your browser is not IE 5 or higher, or Firefox or Safari or Opera"); } var url = "utils/add_download.php?softid="+softid; req.open("GET",url,true); req.setRequestHeader("Connection", "close"); req.send(null); }
Cosa c'è che può generare il malfunzionamento?codice:[img]images/btn_download.png[/img]

Rispondi quotando