Increase/decrease 通过链接查询参数 $_GET 中的参数

Increase/decrease parameter in query parameter $_GET through links

最近,我开始学习 PHP 通过我在大学网站上找到的一些课程(别担心,这不是家庭作业,我正在自己做) 我卡住了。作业是这样的:

Create a page with two links, one for increasing and one for decreasing parameter 'n' which should be accessed through $_GET query parameter. If 'n' is not set, assume it's value is 4.

所以,我尝试了这样的事情(一开始只是为了增加):

<form action="<?php $_PHP_SELF ?>" method="GET">
      <input type="hidden" name="n" value="4">
      <input type="submit">
 </form>

我的 PHP 代码是这样的:

<?php
$var = 4;
if(!isset($_GET['n'])) {
    $_GET['n'] = $var;
} else {
    $var = $_GET['n'];
    $var++;
    $_GET['n'] = $var;
}
echo $_GET['n'];
?>

但这似乎根本行不通。我猜 'n' 也应该在 URL 中自动更改。另外,我怎么可以"submit"个按钮,一个增加,一个减少?

任何人都可以提供帮助吗(如果可能的话,提供一些很好的指导性解释)以及是否可以只使用 HTML 链接来完成它,因为课程还没有通过表格。

表单代码中:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
  <input type="hidden" name="n" value="<?php echo $var; ?>">
  <input type="submit">
</form>

编辑

增加/减少:

<?php
  if(!isset($_GET['n'])) {
    $var = 4;
  } else {
    $var = $_GET['n'];
  }
  echo 'Value = ' . $var;
?>

<p>
  <a href="<?php echo $_SERVER['PHP_SELF']; ?>?n=<?php echo $var+1;?">Increase</a>
  <a href="<?php echo $_SERVER['PHP_SELF']; ?>?n=<?php echo $var-1; ?>">Decrease</a>
</p>

您的 PHP 代码可以简化为以下内容:

if (!isset($_GET['n'])) {
    $_GET['n'] = 4;
}
$_GET['n']++; // you can do that

但是,您可能不想直接递增或递减 $_GET['n']。尝试只保留 if 部分,然后在输出 link:

时递增或递减
<?php
    if (!isset($_GET['n'])) {
        $_GET['n'] = 4;
    }
?>
<a href="<?php echo $_SERVER['PHP_SELF'] . "?n=" . ($_GET['n'] + 1) ?>">increment n</a>
<a href="<?php echo $_SERVER['PHP_SELF'] . "?n=" . ($_GET['n'] - 1) ?>">decrement n</a>

请注意,不需要通过 $_GET$_POST 传递参数的表单 — 您只需构建一个传递参数的 URL,就像我在这里所做的那样。