0

这是我的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

4 回答 4

1

您拼错了标签;是<form>,不是<forum>。您还需要给它一个method.POST

于 2012-07-29T21:36:50.400 回答
1

Bizzare,最重要的两件事,还有..action="script location"<form>标签中。

例子; <form method="post" action="index.php">

于 2012-07-29T21:47:08.603 回答
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语句都应该有大括号 - 对于单行子句,您可以不使用大括号,但有些人认为这是不好的做法。另外,echo不需要括号。

默认情况下,表单是“获取”,通常您应该使用此模式,除非您正在执行不可重复的操作(例如写入文件或数据库)。

最后 - 如果您正在使用 POST 并执行写入操作,那么您应该在之后立即重定向,以避免在使用 Backwards 和 Forwards 按钮时出现浏览器警告。搜索“幂等帖子”以获取更多信息。

于 2012-07-29T22:11:13.807 回答
0
  1. form,不是forum
  2. 如果你想让它做发布请求,你需要添加方法属性:<form method="post">
于 2012-07-29T21:40:12.033 回答