Привет, я новичок в php и начал учиться. Я пытаюсь увеличить значение переменной с помощью 1 при нажатии кнопки отправки.
Мой код:
<?php $i=0; if($_POST['submit']){ echo $i+1; } ?>
благодаря
Вы переменный $ i должен храниться в сеансе, например, поэтому он не потеряет значение при отправке формы. (Вы можете проверить этот ответ Является ли PHP или PHP основанной на веб-инфраструктуре stateful или stateless? )
Также, когда ваш скрипт выполняется, первое, что вы делаете, это $i = 0;
поэтому всякий раз, когда вы его выполняете, вы повторно инициализируете переменную до 0.
session_start(); // if your variable is not yet defined, you assigned it with 0 if (isset($_SESSION['myVariable'])) { $_SESSION['myVariable'] = 0; } if($_POST['submit']) { echo $_SESSION['myVariable'] +1; }
<?php session_start(); if($_POST['submit']){ $_SESSION['i'] = isset($_SESSION['i']) ? ++$_SESSION['i'] : 0; echo $_SESSION['i']; } ?>
Это будет помнить последнее значение между страницами
var_dump($IsPost = !strcasecmp($_SERVER['REQUEST_METHOD'], 'POST'));
^ говорит вам, что это сообщение.
echo ++$i;
^ увеличивает $I
и затем печатает $I
echo $i++;
^ печатает $I
а затем увеличивает $I
empty($_POST['submit']); // or isset($_POST['submit']);
^ говорит вам, что ['submit']
существует в $_POST
без уведомлений.
<?php if(!isset($_SESSION['i'])) $_SESSION['i'] = 0; if(isset($_POST['submit'])){ $_SESSION['i']++; } echo $_SESSION['i']; ?>