2014-09-22 76 views
1

我正在創建一個小型比特幣支付網關來支付0.25 BTC並且只需要1次確認。我創建了一個窗體(form.html),它顯示了一個獨特的隨機地址($_POST['address']),所以在你下一頁後提交我需要它顯示一個頁面併爲我做一些檢查......但是當我點擊提交時只是在瀏覽器底部顯示「等待頁面加載」,實際上並沒有加載頁面(HTML上面),我確信這是因爲for循環佔用了頁面,但我是不知道如何解決它。For Loop,Sleep,由於循環而無法加載頁面

我的for循環

for ($i=0; $i <= 900; $i++) { 

    $conf = file_get_contents('https://blockchain.info/q/addressbalance/' . $_POST['address'] . '?confirmations=1'); 
    $seen = file_get_contents('https://blockchain.info/q/addressfirstseen/' . $_POST['address']); 

     if ($seen != 0) { 
      if($conf >= 25000000) { 
       echo "Payment Complete <br><br>"; 
       break; 
      } elseif ($conf != 0 && $conf < 25000000) { 
       echo "You Did Not Pay Enough Bitcoins<br><br>"; 
       break; 
      } 
     } 
     sleep(30); 
} 

我與PHP荒廢了,這是我在一段時間的第一次嘗試,如果有人可以點我在正確的方向我在做什麼不正確,這將是多少讚賞。

謝謝任何​​人在此花費任何時間。

+0

那麼你使用PHP ..雖然這可能是可能通過'flush',我寧願切換到JavaScript – kero 2014-09-22 10:47:43

回答

1

你定義作爲循環計數器,但你沒有使用它? 最有可能沒有滿足休息條件,你實際上正在做一個大睡900 * 30秒= 450分鐘 我絕對相信你不需要這個。 更不用說,你必須改變cnf中的一些變量,ini ...如果你需要在很長一段時間後的迴應

從我可以看到$默認可能爲零和/或$ conf是< = 0

sleep

,單位爲毫秒的延遲,使用 usleep

沒有使用PHP的一些年,但我認爲,睡眠是秒。 儘量不要做前端檢查與後端語言作爲您的帖子下的第一個評論說,但我只能猜測你想達到什麼...

+0

Doh,睡眠僅僅意味着1秒,所以15分鐘(通常一個確認的長度,頁面仍然不會加載,但是),你是正確的,我不是使用循環計數器。有沒有更好的方法來反覆檢查所有這些信息? – hexce 2014-09-22 11:01:41

+0

請參閱上面的編輯 – ninjabber 2014-09-22 11:08:58