这是我的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中执行此类操作?如果没有,那么实现相同结果的好方法是什么?
答案 0 :(得分:1)
你错了标签;它是<form>
,而不是<forum>
。您还需要提供method
POST
。
答案 1 :(得分:1)
Bizzare,前两项内容,以及action="script location"
代码中的<form>
。
实施例;
<form method="post" action="index.php">
答案 2 :(得分:1)
一些额外的建议。首先,允许将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
语句都应该有大括号 - 你可以在没有单行条款的情况下离开它们,但它是considered by some to be bad practice。此外,echo
不需要括号。
默认情况下,表单为'get',一般情况下,您应该使用此模式,除非您正在执行不可重复的操作(例如写入文件或数据库)。
最后 - 如果您正在使用POST并执行写入操作,那么您应该立即重定向,以避免在使用向后和向前按钮时出现浏览器警告。搜索“idempotent post”了解更多信息。
答案 3 :(得分:0)
form
,而不是forum
<form method="post">