2014-09-22 2 views
1

Я создаю небольшой шлюз для оплаты биткойнов, чтобы заплатить 0,25 BTC, и вам нужно только 1 подтверждение. Я создал форму (form.html), которая показывает уникальный случайный адрес ($_POST['address']), поэтому на следующей странице после того, как вы нажмете submit, мне нужно, чтобы она отображала страницу и делала некоторые проверки для меня ... но когда я ударил, отправьте ее просто говорит «ожидание загрузки страницы» в нижней части моего браузера и на самом деле не загружает страницу вверх (на ней есть HTML), я уверен, что это из-за цикла, зависающего на странице, но я не уверен, как обойти это.Для Loop, Sleep, Страница не загружается из-за Loop

Мой цикл

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

ответ

1

вы определяете i как счетчик циклов, но вы не используете его ?! , скорее всего, ни один из критериев перерыва не выполнен, и вы на самом деле делаете большой сон 900 * 30 секунд = 450 минут Я абсолютно уверен, что вам это не нужно. не говоря уже о том, что вам нужно изменить некоторые вары в cnf, ini ... если вам понадобится ответ после этого долгого времени

Из того, что я вижу, $ seen, вероятно, по умолчанию и/или $ conf is < = 0

sleep

за задержку в миллисекундах, используйте usleep

не использовал PHP в течение нескольких лет, но я считаю, сон в сек. попробуйте не делать проверки на лицевой стороне с использованием внешнего языка, поскольку первый комментарий под вашим сообщением говорит, но я могу только догадываться, что вы пытаетесь достичь ...

+0

Doh, Sleep должен был быть только 1 секундой, поэтому 15 минут (обычная длина одного подтверждения, страница все равно не загружается), и вы правы, im not используя счетчик циклов. Будет ли лучший способ проверять всю эту информацию снова и снова? – hexce

+0

- см. Изменение выше – ninjabber

 Смежные вопросы

  • Нет связанных вопросов^_^