问题
Hi I am new in php and started learning. I am trying to increment variable value with 1 when submit button is pressed.
My Code:
<?php
$i=0;
if($_POST['submit']){
echo $i+1;
}
?>
Thanks
回答1:
You're variable $i should be stored in session for example, so it won't lost its value when you submit the form. (You can check this answer Is PHP or PHP based web framework stateful or stateless?)
Also when your script is executed, the first thing you do is $i = 0;
so whenever you execute it, you reinitialize the variable to 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;
}
回答2:
<?php
session_start();
if($_POST['submit']){
$_SESSION['i'] = isset($_SESSION['i']) ? ++$_SESSION['i'] : 0;
echo $_SESSION['i'];
}
?>
This will remember the last value between pages
回答3:
var_dump($IsPost = !strcasecmp($_SERVER['REQUEST_METHOD'], 'POST'));
^ tells you if it's a post.
echo ++$i;
^ increments $I
and then prints $I
echo $i++;
^ prints $I
and then increments $I
empty($_POST['submit']); // or isset($_POST['submit']);
^ tells you if ['submit']
exists in $_POST
without notices.
回答4:
<?php
if(!isset($_SESSION['i'])) $_SESSION['i'] = 0;
if(isset($_POST['submit'])){
$_SESSION['i']++;
}
echo $_SESSION['i'];
?>
来源:https://stackoverflow.com/questions/17494444/php-increment-variable-value-with-1-when-submit