Я бы хотел, чтобы переменная $order
увеличивалась на 1 каждый раз, когда я нажимаю кнопку отправки.
(Имя страницы – study.php, поэтому каждый раз, когда я нажимаю кнопку, страница обновляется):
<?php $order = $_GET['number']; echo "<form action='study.php' method='GET'> <input type='hidden' name='number' value='$order++' /> <input class='big_b' type='submit' value='next' /> </form>"; echo "$order"; ?>
В первый раз 1 нажмите кнопку $ order 1, вторая 2, третья – 3 … и т. Д.
Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: РЕШЕН
<?php session_start(); if(empty($_SESSION['count'])) $_SESSION['count'] = 0; $order = $_SESSION['count']+1; $_SESSION['count'] = $order; echo "<form action='study.php' method='GET'> <input class='big_b' type='submit' value='next' /> </form>"; echo "$order"; ?>
<?php session_start(); if(empty($_SESSION['order'])){ $_SESSION['order'] = 1; } echo "<form action='study.php' method='GET'> <input type='hidden' name='number' value='".$_SESSION['order']++."' /> <input class='big_b' type='submit' value='next' /> </form>"; echo $_SESSION['order']; ?>
Как у вас в настоящее время это есть, так это то, что он будет увеличиваться при обновлении каждой страницы независимо от того, была ли нажата кнопка или нет, вам нужно ее только для увеличения при нажатии кнопки?
<?php session_start(); // Reset to 1 if(isset($_POST['reset'])){unset($_SESSION['number']);} // Set or increment session number only if button is clicked. if(empty($_SESSION['number'])){ $_SESSION['number']=1; }elseif(isset($_POST['next'])){ $_SESSION['number']++; } echo ' <form action="" method="POST"> <input class="big_b" type="submit" name="next" value="Next" /> <input type="submit" name="reset" value="Reset" /> </form>'; echo $_SESSION['number']; ?>
Для выполнения операции нужно добавить $order++
за пределы кавычек (с шагом 1). Вот код:
<?php $order = $_GET['number']; echo "<form action='study.php' method='GET'> <input type='hidden' name='number' value='".$order++."' /> <input class='big_b' type='submit' value='next' /> </form>"; echo "$order"; ?>