这是我的php代码,它不起作用:
<?php
echo('
<forum>
<input type = "submit" value = "Previous" name = "Previous"/>
<input type = "submit" value = "Next" name = "Next"/>
</forum>');
if(isset($_POST['Previous']))
echo("Previous");
if(isset($_POST['Next']))
echo("Next");
?>
当我按下按钮时,什么也没发生。
在PHP中可以做这样的事情吗?如果没有,有什么好的替代方案可以达到同样的结果?
您拼错了标签;是<form>
,而不是<forum>
。您还需要给它一个POST
的method
。
Bizzare,前两件事,还有。。CCD_ 6标签中的CCD_。
示例;<form method="post" action="index.php">
一些额外的建议。首先,允许HTML与PHP分离是一种很好的做法。因此,我将开始按照这些思路进行重组——这意味着IDE将正确地为HTML语法着色。
<form method="post">
<input type = "submit" value = "Previous" name = "Previous"/>
<input type = "submit" value = "Next" name = "Next"/>
</form>
<?php
if (isset($_POST['Previous']))
{
echo "Previous";
}
if (isset($_POST['Next']))
{
echo("Next");
}
?>
还要注意,所有if
语句都应该有大括号——单行子句可以不使用大括号,但有些人认为这是一种糟糕的做法。此外,echo
不需要括号。
默认情况下,表单是"get",通常您应该使用此模式,除非您正在执行不可重复的操作(例如写入文件或数据库)。
最后,如果您正在使用POST并执行写入操作,那么您应该在之后立即重定向,以避免在使用"向后"answers"向前"按钮时出现浏览器警告。搜索"幂等性帖子"以获取更多信息。
- 是
form
,不是forum
- 如果你想让它做post请求,你需要添加方法属性:
<form method="post">