按下提交时执行php方法

时间:2012-07-29 21:33:20

标签: php html web submit forum

这是我的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中执行此类操作?如果没有,那么实现相同结果的好方法是什么?

4 个答案:

答案 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)

  1. 它是form,而不是forum
  2. 如果您想要发布请求,则需要添加方法属性:<form method="post">