Я создаю небольшой платежный шлюз Bitcoin для оплаты 0,25 BTC и мне нужно только 1 подтверждение. Я создал форму (form.html), которая показывает уникальный случайный адрес ($_POST['address']
) поэтому на следующей странице после того, как вы нажмете «Отправить», мне нужно, чтобы он отобразил страницу и сделал некоторые проверки для меня … но когда я нажимаю «Отправить», он просто говорит «ожидает загрузки страницы» в нижней части моего браузера и не Я на самом деле не загружаю страницу (на которой есть HTML), я уверен, что это из-за цикла 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, и это моя первая попытка за последнее время, если кто-нибудь может указать мне правильное направление на то, что я делаю неправильно, что было бы очень ценно.
Спасибо за любое время, потраченное на это.
вы определяете я в качестве счетчика циклов, но вы не используете его ?!
Скорее всего, ни один из критериев перерыва не выполняется, и вы на самом деле делаете большой сон 900 * 30 с = 450 минут
Я абсолютно уверен, что тебе это не нужно.
не говоря уже о том, что вам нужно изменить некоторые переменные в cnf, ini … если вам нужен ответ после этого долгого времени
из того, что я вижу, $ seen, вероятно, равно нулю по умолчанию, и / или $ conf < = 0
для задержки в миллисекундах используйте
ты спишь
Я не использовал php в течение нескольких лет, но я верю, что сон в секундах.
постарайтесь не делать предварительных проверок с использованием внутреннего языка, как говорится в первом комментарии под вашим постом, но я могу только догадываться, чего вы пытаетесь достичь …
Других решений пока нет …