服务器未处理$ _POST请求

时间:2018-10-01 23:41:21

标签: php forms post

我有一个带有一个文本输入字段的表单:

index.html

<form method="post" action="comment.php">
  <a href="javascript:void(0)">
    <div class="avatar" style="background:url('img/user4561.jpg') center/cover"></div>
  </a>
  <input name="comm" type="text"/>
  <input type="submit" value="submit"/>
</form>

这是同一目录中的 comment.php

<?php
  echo $_POST["comm"];
?>

现在是最不可思议的事件。表单数据未提交!我收到错误消息:

  

注意::未定义的索引:第2行上的192.168.0.1/comment.php中的通信

我这样更改了 comment.php

<?php
  if(isset($_POST["comm"])) {
    echo "It is set";
  } else {
    echo "It is not set";
  }
?>

我得到:

  

未设置

因此,我将表单的HTML代码复制到了另一个空白网页中。我还将表单的action属性更改为“ 192.168.0.1/comment.php”。现在我得到了

  

已设置

我也尝试使用GET而不是POST,但是我又遇到了相同的冲突。

编辑:我删除了所有其他文件和代码,但表格及其脚本除外。问题仍然存在。现在,您可以阅读和修改源代码。转到files.000webhost.com。使用chatstack作为网站名称,并使用6RxOkuJ1CIkbNqxKUMGr作为密码。

编辑:我修改了上面表单的代码,以使其完全匹配上面给定链接中的代码。我注意到从表单内部删除链接可以解决此问题。我已经做到了,但这太奇怪了。根据{{​​3}},在<form>元素中包含其他元素完全没问题。在网站的其他部分,我在表单元素中包含<div>元素,并且表单运行正常。

这是什么?是服务器还是其他?

我很确定这里提供的信息不够。随时询问其他信息。帖子中写的信息太多了,我不知道其中哪一部分是相关的。

1 个答案:

答案 0 :(得分:2)

在浏览器中打开开发控制台。 转到网络标签。现在,您填写表格并提交。加载comment.php之后,请检查“网络”标签中的第一行(应该是comment.php html文档)。 当您单击该请求时,它应该显示您,该请求是GET还是POST,以及向该文档发送了哪些数据。

您还可以尝试在comment.php var_dump($_REQUEST);上查看发送了哪些数据以及如何访问它们。

通过这种方式,您可以查看整个服务器是否接收到任何数据。如果是的话,那么您将使用apache2之类的其他服务器进行测试,以查看错误是否已修复。

这就是我要这样做的方式,但是我怀疑通过公开编辑您的代码,您无意中隐瞒了一些可以解决此简单问题的信息。 尽管服务器无法处理任何数据,但WAMP之类的网络服务器极不可能在发布新版本之前通过测试环境