2016-04-28 5 views
0

Ich habe meinen PHP-Code für die Drosselung Login abgeschlossen, aber jetzt möchte ich einfach js oder jquery-Code verwenden, um die Drosselung Countdown-Zeit von der PHP und einen Live-Countdown.Implementieren Countdown js Countdown in PHP-Code

Sollte ich das js-Skript in die PHP-Datei einfügen? oder die HTML-Datei? Wenn ja, wie soll ich meinen Code bearbeiten?

Bisher habe ich die span id Timer in die PHP gesetzt haben, die nun den Timer zeigt aber auch hier nicht, daß ich die PHP-Live-Timer

Mein PHP-Code erhalten:

<?php 
include('database.php'); 
function get_multiple_rows($getfailed) { 
    $rows = array(); 
    while($row = $getfailed->fetch_assoc()) { 
     $rows[] = $row; 
    } 
    return $rows; 
} 
$throttle = array(1 => 1, 5 => 2, 10 => 30); 
$getfailedq = "SELECT MAX(attempted) AS attempted FROM failed_logins";  
if ($getfailed = $mySQL->query($getfailedq)) { 
    $rows = get_multiple_rows($getfailed); 
    $getfailed->free(); 
    $latest_attempt = (int) date('U', strtotime($rows[0]['attempted'])); 
    $getfailedq = "SELECT COUNT(1) AS failed FROM failed_logins WHERE attempted > DATE_SUB(NOW(), INTERVAL 15 minute)"; 
    if ($getfailed = $mySQL->query($getfailedq)) { 
     $rows = get_multiple_rows($getfailed); 
     $getfailed->free(); 
     $failed_attempts = (int) $rows[0]['failed']; 
     krsort($throttle); 
     foreach ($throttle as $attempts => $delay) { 
      if ($failed_attempts > $attempts) { 
       $remaining_delay = (time() - $latest_attempt) - $delay; 
       if ($remaining_delay < 0) {echo '<span id="timer">' . abs($remaining_delay) . '</span>';}     
       break; 
      } 
     }   
    } 
} 
?> 

Meine js:

<script> 
var count=30; 
var counter=setInterval(timer, 1000); //1000 will run it every 1 second 
function timer(){ 
    count=count-1; 
    if (count <= 0){ 
     clearInterval(counter); 
     return; 
    } 
    document.getElementById("timer").innerHTML=count + " secs"; // watch for spelling 
} 
</script> 

Antwort

1

Sie können Ihre JS-Variable durch eine PHP-Variable liek diese initialisieren:

var counter = <?php echo $counter; ?>; 

Und erstellen Sie Ihren Zähler in JS.

EDIT # 1:
Nach der Initialisierung der Variablen, die Sie brauchen es rückwärts zu zählen.

var counter = <?php echo $counter; ?>; 
setInterval(function() { 
    console.log(counter); 
    counter--; 
}, 1000 /*ms*/); 
+0

danke, ich habe getan, was Sie sagten, aber kein Ergebnis – Serjio