Возможный дубликат:
Почему этот код не увеличивает счетчик правильно?
У меня проблема с отображением правильного номера страницы.
У меня есть демо, которое вы можете использовать, чтобы посмотреть, что происходит:
Ниже приведена проблема:
Шаг 4: Если вы дважды нажмете кнопку «Добавить вопрос», вы увидите две строки ниже, обе строки содержат свою собственную форму загрузки файла изображения.
Шаг 5: Нажмите кнопку «Отправить детали», вы поймете, что вы не на странице 3, поскольку она не заявляет «СОЗДАНИЕ ВОПРОСОВ И ОТВЕТОВ: СЕССИЯ 3 из 8», но вместо этого она заявляет: «СОЗДАТЬ ВОПРОСЫ И ОТВЕТЫ: SESSION 5 OF 8 "
Причина, по которой я верю, заключается в том, что, когда вы нажимаете кнопку «Отправить детали», она отправляет всю форму, но также и то, что есть несколько форм загружаемых файлов изображений, привязанных к строке, они также учитывают их в submit, поэтому он заявляет, что мы на странице 5, а не на странице 3.
Итак, мой вопрос: что мне нужно изменить в моем коде, чтобы иметь возможность отображать правильный номер страницы? Каждый раз, когда пользователь нажимает кнопку «Отправить детали», он должен подсчитывать номер страницы всего +1.
Ниже приведен код того, как он в настоящее время подсчитывает номера страниц и как он отображает его сверху:
<?php session_start(); if(isset($_POST['sessionNum'])){ //Declare my counter for the first time $_SESSION['initial_count'] = $_POST['sessionNum']; $_SESSION['sessionNum'] = intval($_POST['sessionNum']); $_SESSION['sessionCount'] = 1; } else if ($_SESSION['sessionCount'] < $_SESSION['sessionNum']) { $_SESSION['sessionCount']++; } $sessionMinus = $_SESSION['sessionCount']; ?>
…
<h1>CREATING QUESTIONS AND ANSWERS: SESSION <?php echo $sessionMinus ?> OF <?php echo $_SESSION['initial_count'] ?></h1>
В create_session2.php
вам нужно будет различать вопрос, добавляя и отправляя детали. Например, попробуйте использовать isset($_POST['submitDetails'])
. Эта переменная будет установлена, только если ваш пользователь нажал кнопку submitDetails
, чтобы перейти к форме.
Пример :
... if (isset($_POST['submitDetails'])) { session++; } ...
Таким образом, вы узнаете, увеличивать ли количество сеансов в результате.