按下submit时执行php方法


Executing a php method when submit is pressed

这是我的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>。您还需要给它一个POSTmethod

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"向前"按钮时出现浏览器警告。搜索"幂等性帖子"以获取更多信息。

  1. form,不是forum
  2. 如果你想让它做post请求,你需要添加方法属性:<form method="post">