|
1 |
<?php $num_ask = 0; if(isset($_POST['go'])){ $num_ask++; $_POST['go'] = null; } ?> <form method="POST" action=""> <?php echo $ask[$num_ask]["win_answer"] ?> <input type="radio" value="<?php echo $ask[$num_ask]["win_answer"] ?>" name="answer"> <br> <?php echo $ask[$num_ask]["lose_answer"] ?> <input type="radio" value="<?php echo $ask[$num_ask]["lose_answer"] ?>" name="answer"> <br> <input type="submit" value="Подтвердить овтет" name="go"> </form> |
Почему в первый раз проверка срабатывает, но во второй раз уже не работает (хотя значение $_POST['go'] = null после проверки)
Дополнительно:
Содержание
Ответы:
Условие срабатывает как и положено.
Писать что-то в массив $_POST не имеет смысла, он будет всегда создан новым при следующем запросе.
Точно так же между запросами не сохраняются переменные. И получается, что вы каждый раз сбрасываете счетчик в ноль, а тут же увеличиваете его до единички.
Данные между запросами можно хранить в сессии.
|
1 |
session_start(); $num = $_SESSION['num'] ?? 0; $num++; $_SESSION['num'] = $num; |
Или передавать через ту же форму
|
1 |
$num = (int)($_POST['num'] ?? 0)); $num++; <input type="hidden" name="num" value="<?=$num?>"> |
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Чтобы разобраться, почему условие не работает, нужно изучить код и выявить возможные причины проблемы. Возможно, проблема заключается в неправильном синтаксисе условия, неправильно указанных переменных или функций, или же в логике самого условия.
Для начала, убедитесь, что условие написано правильно. Проверьте правильность использования операторов сравнения (==, !=, >, =, <=) и логических операторов (&&, ||, !). Также убедитесь, что все переменные, используемые в условии, определены и имеют корректные значения.
Далее, проверьте, что условие выполняется в нужном контексте. Проверьте, что переменные, которые используются в условии, имеют ожидаемые значения в момент выполнения условия. Это можно сделать, добавив отладочный вывод значений переменных перед выполнением условия.
Также стоит убедиться, что условие действительно должно срабатывать в данной ситуации. Может быть, логика условия неверная или требуется добавить дополнительные проверки.
Если после всех этих проверок проблема не решается, попробуйте упростить условие до минимально рабочего примера и проверьте его работоспособность. Это поможет выявить возможные ошибки или недочеты в условии.
Если после всех этих шагов проблема все еще не решена, обратитесь за помощью к сообществу разработчиков или специалистам по программированию, чтобы получить дополнительные советы и рекомендации по исправлению условия.