PHP表单-';获取';工作但';邮政';不

PHP表单-';获取';工作但';邮政';不,php,forms,post,get,Php,Forms,Post,Get,我有一张简单的登记表。我已经搜索了几个小时,尝试了所有的方法——基本上我已经将它剥离到post/get。当我将方法设置为get(在表单和脚本页面上)时,它工作正常,当我将其设置为post时,我会出现以下错误: 不可接受 在此服务器上找不到请求的资源/tmp/register.php的适当表示形式。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误 以下是我在表单页面上的代码: <form id="registration" onsubmit="retur

我有一张简单的登记表。我已经搜索了几个小时,尝试了所有的方法——基本上我已经将它剥离到post/get。当我将方法设置为get(在表单和脚本页面上)时,它工作正常,当我将其设置为post时,我会出现以下错误:

不可接受

在此服务器上找不到请求的资源/tmp/register.php的适当表示形式。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误

以下是我在表单页面上的代码:

<form id="registration" onsubmit="return validateRegistration();" action="register.php" method="post">
    Name:     <input type="text" id="name" name="name" placeholder="Required">
    <br>
    Email:    <input type="email" id="email" name="email" placeholder="Required">
    <br>
    Confirm:  <input type="email" id="confirm_email" autocomplete="off" placeholder="Required">
    <br>
    Password: <input type="password" id="password" name="password" placeholder="Required">
    <br>
    Confirm:  <input type="password" id="confirm_password" autocomplete="off" placeholder="Required">
    <br>
    City:     <input type="text" id="city" name="city" placeholder="Optional">
    <br>
    Country:  <input type="text" id="country" name="country" placeholder="Optional">
    <br>
    <br>
    <hr>
    <a href="#">Terms and Conditions</a>
    <br>
    <input type="submit" value="Accept and Complete Registration">
</form>

姓名:

电邮:
确认:
密码:
确认:
城市:
国家:



在我的脚本页面(register.php)上,我有:


如果我只是转到
register.php
它只显示帖子所在的空格,但是如果我提交表单,它会给出不可接受的406错误


有人能帮我吗?我完全糊涂了。谢谢

错误代码说它正在
/tmp/register.php
查找文件。对吗?也许可以将表单操作更改为
/register.php


另外,您的PHP看起来有点不对劲(有很多额外的引号),但我假设您只是从PHP文件中复制/粘贴,并且出于某种原因删除了周围的HTML?

错误代码说它正在查找
/tmp/register.PHP
中的文件。对吗?也许可以将表单操作更改为
/register.php


另外,您的PHP看起来有点不对劲(有很多额外的引号),但我假设您只是从PHP文件中复制/粘贴,然后出于某种原因删除了周围的HTML?

我不知道您是否找到了问题的答案。我也遇到了这个问题,POST将绝对不返回任何数据,但不会出错

我的问题的奇怪之处在于,我只在我的一个网站上发布了它。所有站点都在同一台服务器上


在大约3个小时隆重地把脸撞到键盘上之后,我意识到了这一点。有一个网站不工作,我设置了URL编码总是删除“www”。我的解决方案是强制URL始终添加“www”,问题就消失了。

我不知道您是否找到了问题的答案。我也遇到了这个问题,POST将绝对不返回任何数据,但不会出错

我的问题的奇怪之处在于,我只在我的一个网站上发布了它。所有站点都在同一台服务器上


在大约3个小时隆重地把脸撞到键盘上之后,我意识到了这一点。有一个网站不工作,我设置了URL编码总是删除“www”。我的解决方案是强制URL始终添加“www”,问题就消失了。

还有另一种可能性尚未提及,那就是
。htaccess

在某些情况下,
.htaccess
被设置为重定向或阻止帖子,这不会捕获、阻止或路由GET

如果你可以导航到这个页面(你说你可以),但是一篇帖子永远不会到达那里,那么有什么东西阻止了它,唯一的障碍就是你正在使用的web服务器平台

您之前提到您使用的是托管提供商,因此请明确询问他们在POST请求中设置了哪些规则(您可能需要等待一段时间才能找到真正能够回答问题的人),或者您可以使用
wget

wget --post-data 'name=test' http://server.com/tmp/register.php

还有一种可能性尚未提及,那就是
.htaccess

在某些情况下,
.htaccess
被设置为重定向或阻止帖子,这不会捕获、阻止或路由GET

如果你可以导航到这个页面(你说你可以),但是一篇帖子永远不会到达那里,那么有什么东西阻止了它,唯一的障碍就是你正在使用的web服务器平台

您之前提到您使用的是托管提供商,因此请明确询问他们在POST请求中设置了哪些规则(您可能需要等待一段时间才能找到真正能够回答问题的人),或者您可以使用
wget

wget --post-data 'name=test' http://server.com/tmp/register.php

我在表单中的多个textarea字段上使用了ckeditor,得到了相同的错误

我什么都试过了。。比如用get代替post,玩mod securities,还有更多我能想到的东西

但最后,当我从多个字段中删除ckeditor时,它开始工作了。。。现在它的工作非常好

可能是代码中的某些字段正在生成一些内部代码,浏览/服务器将其视为sql查询的注入,因此直接阻止页面


查找代码…

我在表单中的多个textarea字段上使用了ckeditor,但得到了相同的错误

我什么都试过了。。比如用get代替post,玩mod securities,还有更多我能想到的东西

但最后,当我从多个字段中删除ckeditor时,它开始工作了。。。现在它的工作非常好

可能是代码中的某些字段正在生成一些内部代码,浏览/服务器将其视为sql查询的注入,因此直接阻止页面


找到代码…

validateRegistration()是什么样子的?我回家后会添加它,但我怀疑它与此有关,因为:1。我把它拿了一次,但没用。它与get一起工作,只是POST没有完全执行验证,它仍然不工作。我有一个基本表单:
和一个简单的register2.php
echo$\u POST[“field1”]
,如果我将其全部更改为get,而不是使用$\u POST(相同的406错误)。我已经联系了我的主人和