2010-11-15 8 views
0

Salut à tous, j'ai un script jquery qui est un jeu assez amusant, vous pouvez le voir ici link text.jquery vérifier ip avant de faire le reste des choses

maintenant après avoir cliqué sur le bouton de lecture, j'envoie l'adresse IP des utilisateurs via ajax pour voir si elle correspond à une adresse IP stockée sur mon site. Si c'est le cas, le reste de l'action est effectué. J'ai du mal à faire fonctionner le 1er ajax. voici le script.

var hitCount = 0, 
missCount = 0; 

function IsNumeric(n) { 
return !isNaN(n); 
} 

$("#getit").click(function() { 
var hitCount = 0, 
missCount = 0; 
$('#hitcount').text(0); 
$('#misscount').text(0); 

/* ajax to check ip goes here if successful they below is performed*/ 

$('#message').hide(100);   
var li = [], 
    intervals = 0, 
    n = parseInt($('#MyNumber').val()); 

var intervalId = -1; 
if (IsNumeric(n)) { 
    intervalId = setInterval(function() { 
     li[intervals++ % li.length].text(Math.random() > .1 ? Math.floor(Math.random()  * (10 + n) + (n/2)) : n).attr('class', ''); 
    }, <?php echo $time ?>); 
} 

$('#randomnumber').empty(); 

for (var i = 0; i < 7; i++) { 
    li.push($('<li />').appendTo('#randomnumber')); 
} 

$('#randomnumber').delegate("li", "click", function() { 
     var $this = $(this); 

     if (!$this.hasClass('clicked')) { 
      if (parseInt($this.text(), 10) === n) { 
       $this.addClass('correct'); 
       $('#hitcount').text(++hitCount); 
      } else { 
       $this.addClass('wrong'); 
       $('#misscount').text(++missCount); 
      } 

      //New code If the missCount > 3 stop the game and save the value 
      if(missCount>=2){ 
       clearInterval(intervalId); 
       $('#randomnumber').undelegate("li", "click"); 
       // Use a ajax request to save the values 

$.ajax({ 
type : 'POST', 
url : 'FBhighscore_hwnd.php', 
dataType : 'json', 
data: { 
tgameid: $('#tgameid').val(),MyNumber: $('#MyNumber').val(),totalHits: hitCount 
}, 
success : function(data){ 
$('#waiting').hide(500); 
$('#message').removeClass().addClass((data.error === true) ? 'error' : 'success') 
.text(data.msg).show(500); 
if (data.error === true) 
$('#loginForm').show(500); 
else 
$('#send').hide(500);  
}, 
error : function(XMLHttpRequest, textStatus, errorThrown) { 
$('#waiting').hide(500); 
$('#message').removeClass().addClass('error') 
.text('There was an error.').show(500); 
$('#loginForm').show(500); 
} 
}); 

      } 
     } 

     $this.addClass('clicked'); 
    }); 

return false; 
}); 
+1

Que fait-il? Qu'attendiez-vous que cela fasse? – VoteyDisciple

+0

Vérifiez si l'adresse IP est attachée à une adresse IP de membre en cours. Je cherche des moyens d'empêcher la manipulation de score. –

+0

Génial, mais de quelle manière le code que vous avez publié ne se comporte-t-il pas comme si vous pensiez qu'il devrait se comporter? – VoteyDisciple

Répondre

0

Dans le fichier php dans le post ajax vous pouvez valider l'ip contre les utilisateurs ip tel que ... if ($ _ SERVER [ 'REMOTE_ADDR'] == $ user_ip)) {// faire stuff}

Questions connexes