Radim na projektu povezivanja Pay Per Download sajta sa CPA mrežom. Problem je što ne beleži sve Download-e u moju bazu. Neke beleži, neke ne. Klikove sve zabeleži, a downloade ne.
Probao sam sa tri mreže i nijednom se nisu u potpunosti podudarali podaci na statistici CPA mreža i u mojoj bazi.
Napravio sam čak i specifične uslove ako je isključen Javascript.
Napravio sam na sledeći način:
Korisniku se izlistaju ponude preko API-ja, kada klikne na neku od ponuda automatski ubeleži klik preko Ajax-a i pokreće funkciju za proveru downloada koja se osvežava svake sekunde. Čim primeti da je korisnik uradio download, on osveži stranicu i kreće preuzimanje Download-a i unosi u bazu.
Neke downloade je ubeležio, neke nije, nisam primetio specifične uslove pri kojima nisu ubeleženi.
Da li je neko imao slična iskustva sa ovim?
Code:
<noscript><meta http-equiv="refresh" content="10;" /></noscript>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$("meta[@http-equiv=refresh]").remove();
</script>
<script language="JavaScript">
var needToConfirm = true;
window.onbeforeunload = confirmExit;
function confirmExit()
{
if(needToConfirm){
return "Please do not close Window before you download your file.";
}
}
</script>
<script type="text/javascript">
var user_subid="<?php echo $user_subid; ?>", <?php
$sql="SELECT `id` FROM `files` WHERE `file_hash` LIKE '".$_GET['file']."'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
$fileid=$row['id'];
?>fileid="<?php echo $fileid; ?>", clicked=0, reloaded=0;
function checkSurvey(){
return $.ajax({
url:"checkSurvey.php",
method:'GET',
data:"user_subid="+user_subid+"&"+"fileid="+fileid,
statusCode:{404: function(){
$('.status').html("<p>File for cheking survey was not found.</p>");
}},
async: false,
success:function(data){
if(data==0){
setInterval(function(){checkSurvey();}, 5000);
$('.status').html("<p><img src='preloader.GIF' /> Please check survey and don't close this Window...</p>");
}
if(data==1){
$('.status').html("<p>You can download your file. Please wait few seconds or <a href=\"http://www.filecash.net/downloader/survey.php?file=<?php echo $_GET['file']; ?>\">click here</a>.</p>");
$('.status').removeClass("alert-info");
$('.status').addClass("alert-success");
if(reloaded==0){
needToConfirm = false;
location.reload();
reloaded = 1;
}
}
if(data!=1 && data!=0) {
$('.status').html("<p>"+data+"</p>");}
}
});
}
//end function checkSurvey
$(document).ready(function() {
$('.addClick').bind('click', function(e) {
if(clicked==0){
clicked=1;
$.ajax({
url:"clickSave.php",
method:'GET',
error: function(e){alert(e)},
data:"user_subid="+user_subid+"&"+"fileid="+fileid,
statusCode:{404: function(){
$('.status').html("<p>File not found.</p>");
}},
success:function(data){
$('.status').addClass("alert alert-info");
$('.status').html("<p><img src='preloader.GIF' /> Loading...</p>");
checkSurvey();
},
dataType : 'html'
});
}
});
});
</script>
<noscript><meta http-equiv="refresh" content="10;" /></noscript>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$("meta[@http-equiv=refresh]").remove();
</script>
<script language="JavaScript">
var needToConfirm = true;
window.onbeforeunload = confirmExit;
function confirmExit()
{
if(needToConfirm){
return "Please do not close Window before you download your file.";
}
}
</script>
<script type="text/javascript">
var user_subid="<?php echo $user_subid; ?>", <?php
$sql="SELECT `id` FROM `files` WHERE `file_hash` LIKE '".$_GET['file']."'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
$fileid=$row['id'];
?>fileid="<?php echo $fileid; ?>", clicked=0, reloaded=0;
function checkSurvey(){
return $.ajax({
url:"checkSurvey.php",
method:'GET',
data:"user_subid="+user_subid+"&"+"fileid="+fileid,
statusCode:{404: function(){
$('.status').html("<p>File for cheking survey was not found.</p>");
}},
async: false,
success:function(data){
if(data==0){
setInterval(function(){checkSurvey();}, 5000);
$('.status').html("<p><img src='preloader.GIF' /> Please check survey and don't close this Window...</p>");
}
if(data==1){
$('.status').html("<p>You can download your file. Please wait few seconds or <a href=\"http://www.filecash.net/downloader/survey.php?file=<?php echo $_GET['file']; ?>\">click here</a>.</p>");
$('.status').removeClass("alert-info");
$('.status').addClass("alert-success");
if(reloaded==0){
needToConfirm = false;
location.reload();
reloaded = 1;
}
}
if(data!=1 && data!=0) {
$('.status').html("<p>"+data+"</p>");}
}
});
}
//end function checkSurvey
$(document).ready(function() {
$('.addClick').bind('click', function(e) {
if(clicked==0){
clicked=1;
$.ajax({
url:"clickSave.php",
method:'GET',
error: function(e){alert(e)},
data:"user_subid="+user_subid+"&"+"fileid="+fileid,
statusCode:{404: function(){
$('.status').html("<p>File not found.</p>");
}},
success:function(data){
$('.status').addClass("alert alert-info");
$('.status').html("<p><img src='preloader.GIF' /> Loading...</p>");
checkSurvey();
},
dataType : 'html'
});
}
});
});
</script>
Daniel Dulic