怎么办+或 - 在PHP?

I want to have a form in following way:

[-] [value] [+]

I don't know how to script the logic to get the value 1 higher or 1 lower in PHP.

I assumed something like following would work:

<?php

$i = 0;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    if(isset($_POST['plus']))
    {
        $i++;
    }

    if(isset($_POST['min']))
    {
        $i--;
    }
}

?>

and my form is as following:

<form action="" method="post">
    <input type="submit" name="min" value="-"> <input type="text" value=<?php echo $i ?> >         <input type="submit" name="plus" value="+">
</form>

But I'm only getting either a 1 or a -1. Can someone show me how to do this in a good way?

Try this:

<?php



if($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $i = $_POST['current_value'] || 1;
    if(isset($_POST['plus']))
    {
        $i++;
    }

    if(isset($_POST['min']))
    {
        $i--;
    }
}
?>

and this:

<form action="" method="post">
    <input type="submit" name="min" value="-"> <input name="current_value" type="text" value=<?php echo $i ?> >         <input type="submit" name="plus" value="+">
</form>

You need some way to get the current value to persist between requests - depending on your use case, you may need database storage as Rocket mentions, or this simple passing back of the current value may be enough.

PHP will simply load code on the server-side and run when the page is loaded. If you are looking to dynamically increment/decrement the value while remaining on the same page, I suggest you look into learning Javascript and jQuery.

Reference: https://developer.mozilla.org/en/JavaScript/

Reference: http://jQuery.com/

What is happening with your code is that you are incrementing a global variable that you set to 0 in the beginning. That is why the only values you get back or 1 or -1. This can be fixed by passing the variable you increment each time instead of using a global variable. That way it keeps the value between each plus and minus and doesn't keep resetting it.