2016-04-28 11 views
0

ログインを抑制するためにPHPコードを完成させましたが、今は単純なjsまたはjqueryコードを使用してPHPからスロットルカウントダウンを取得してライブカウントダウンを行います。PHPコード内でカウントダウンjsカウントダウンを実装

私はPHPファイルにjsスクリプトを入れるべきですか?またはhtmlファイルですか?もしそうなら、コードを編集するにはどのようにすればいいですか?

これまでのところ、私は今、タイマーを示しPHPにスパンIDタイマーを入れているが、再び、私はPHPのライブタイマーに

私のPHPコードを取得いけない:

<?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; 
      } 
     }   
    } 
} 
?> 

マイ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> 

答えて

1

あなたはこのliek PHP変数によって、あなたのJS変数を初期化することができます

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

JSでカウンターを作成します。

編集#1:
変数を初期化した後、カウントダウンする必要があります。

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

ありがとうございました – Serjio

関連する問題