HTML表单可用于GET,但不能用于POST

HTML表单可用于GET,但不能用于POST,html,http,forms,post,get,Html,Http,Forms,Post,Get,我正在运行Firefox2.0.0.14 我在一个网页上有一个表单,它可以很好地使用GET方法 提交表单时,我使用插件查看浏览器的HTTP请求,如下所示: GET /postComment.php?review=2&comment=Testing HTTP/1.1 ... 但是,如果我在表单上从method=GET简单更改为method=POST: GET /postComment.php HTTP/1.1 ... <form method=POST action="postC

我正在运行Firefox2.0.0.14

我在一个网页上有一个表单,它可以很好地使用GET方法

提交表单时,我使用插件查看浏览器的HTTP请求,如下所示:

GET /postComment.php?review=2&comment=Testing HTTP/1.1
...
但是,如果我在表单上从method=GET简单更改为method=POST:

GET /postComment.php HTTP/1.1
...
<form method=POST action="postComment.php"><input type=hidden name=review value="2"><input type=submit value="Postit">
</form>
它甚至没有试图发布

在任何情况下,有任何可能的原因吗

编辑:以下是表格:

GET /postComment.php HTTP/1.1
...
<form method=POST action="postComment.php"><input type=hidden name=review value="2"><input type=submit value="Postit">
</form>


是表单标记集的操作参数吗?Javascript会拦截帖子吗?您表单中的一些HTML可能会有所帮助,或者提供一个示例链接:)

我猜您的插件没有捕获POST变量。由于插件的输出是:

GET /postComment.php HTTP/1.1
你如何对你的帖子进行加密$_如果表单操作和方法设置正确,POST['key']或$\u REQUEST['key']应该包含您的值

在查询字符串中找不到POST

编辑: 如果您试图捕获post值,可以使用以下内容进行检查:

if (isset($_REQUEST['submit'])) {
   echo $_REQUEST['review'];
}


Acorn

我首先要确保您的HTML是有效的XHTML。将属性值包装在引号中,并以/>结束输入元素。使用有效的密码

另外,尝试将submit按钮的值更改为“submit”(这是默认值)

在不同的浏览器中试用,包括最新版本的。

首先,您的
标签需要调整:

<form method="post" ... >
通过查看$\u POST数组的全部内容,您可以准确地看到发送的内容、未发送的内容以及发送方式

我敢打赌,以下情况之一是正确的:

  • 字段名中存在拼写错误,请记住名称区分大小写
  • 表单字段在
    标记之外
  • 您有一个值没有正确转义,或者由于任何原因从$\u POST中删除

  • 编辑:我还想更新你的Firefox版本。

    你在使用什么插件?你确定它正在工作吗?如果你想帮助验证它的正确性,请发布表单页面HTML的相关片段。感谢Firefox Web开发插件首页上的“实时HTTP标题”。我很确定它在工作,因为接收页面没有接收任何帖子变量。你说的“工作正常”是什么意思?如何访问表单变量?据我所知,POST方法不会将变量附加到查询字符串中,这就是为什么您的插件中没有它。我不希望POST会影响查询字符串。我希望看到一个POST请求,尽管页面上没有JS。你能粘贴标签并使用它吗?您是否无意中在某个地方复制了该定义?我应该看到:POST/postComment.php HTTP/1.1。。。内容长度:xxx[发布数据]注意:我看到其他表单使用pluginI发出正确的发布请求,我正在这样检查POST值-isset=false,这促使我使用plugin检查HTTP请求。当您将表单操作更改为$\u SERVER['PHP\u SELF']时会发生什么?我使用的是“print\r($\u POST)”,但什么都没有得到(“数组()”)我已经发布了上面的表单代码。Firefox评论指出,但这是一个与非常流行的上网本捆绑在一起的版本,因此最好支持它。如果您看到一个完全空的$\u POST数组,这意味着您的Firefox没有正确发布信息-您使用的是某种形式的隐私软件吗?您使用的是什么版本的PHPing?什么浏览器?什么服务器(apache、windows)?
    debugArray($_POST);