Как увеличить значение переменной php при каждой отправке формы? - PullRequest
0 голосов
/ 01 мая 2019

Так что это, вероятно, не так сложно, но я все еще не могу понять.

Итак, у меня есть переменная в php, называемая $number, и у меня есть кнопка отправки:

<form method="get"><button type="submit" value="<?php echo $number; ?> name="next">Next</button></form>.

Я бы хотел добиться увеличения значения этой переменной, например, на 10 каждый раз при отправке формы.

СначалаВот как я это попробовал:

if(isset($_GET['next'])){
$number+=10;
}

Но этот код увеличивает его значение только один раз.

Я пробовал несколько методов, которые не стоит упоминать, но ни один из них не сработалк сожалению.

Буду признателен, если кто-нибудь сможет мне помочь!

1 Ответ

2 голосов
/ 01 мая 2019
<?php
session_start();
if(isset($_POST['next'])){
   $_SESSION['number'] += 10;
}
?>    
<form method="POST">
  <button type="submit" value="<?php echo $_SESSION['number']; ?>" name="next">
    Next
  </button>
</form>

POST формы и используйте Sessions, чтобы убедиться, что у вас все еще есть предыдущая переменная, доступная после перезагрузки.

Полезное чтение:

Сессия PHP: https://www.php.net/manual/en/reserved.variables.session.php

Начало сеанса PHP: https://www.php.net/manual/en/function.session-start.php

Согласно Википедии:

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

и

POST отправляет данные для обработки (например, из формы HTML) на указанный ресурс.Данные включены в тело запроса.Это может привести к созданию нового ресурса или обновлению существующих ресурсов или к обоим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...