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,就像我在这里所做的那样。
最近,我开始学习 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,就像我在这里所做的那样。