Как увеличить переменную сеанса для отправки - PullRequest
0 голосов
/ 27 апреля 2019

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

Прямо сейчас мой form_validation.php выглядит так:

<?php
 session_start();

 if(formValidationIsCorrect){
   $_SESSION['counter']++;
   header("location:pageWithFormDetails.php);
 }

в pageWithFormDetails.php Мне нужно отобразить информацию о сотруднике из формы (имя, возраст и т. Д.), А также количество рабочих мест, добавленных во время этого сеанса.

Моя проблема в том, что при pageWithFormDetails.php Я делаю

<?php echo $_SESSION['counter']; ?> всегда отображается 1 , даже если я перезаправляю форму несколько раз. Я предполагаю, что каждый раз, когда я заполняю форму, моя переменная counter сбрасывается, а затем увеличивается на 1 . Есть ли способ не сбрасывать эту переменную каждый раз, когда я заполняю форму и проверяю ее?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2019

Вы можете попробовать этот фрагмент кода и соответственно изменить свой код

<?php
session_start();
if(isset($_POST['submit'])){
  array_key_exists('counter', $_SESSION) ? $_SESSION['counter']++ : ($_SESSION['counter'] =1);
  echo $_SESSION['counter'];
}
?>
<form action="" method="post">
    <input type="submit" name="submit" value="submit" />
</form>
0 голосов
/ 27 апреля 2019

Вам необходимо использовать ввод базы данных, а затем вывод.Когда вы пытаетесь $ _SESSION ++.Там вы можете использовать ++ в переменной db, а затем -1, когда вы уничтожаете сеанс.Вот как я это делал, когда мне нужно было подобного рода вещи.

...