2013-02-11 48 views
3

我正尝试在PHP中创建表单创建器。这是其中之一非常愚蠢的“需要再看一眼”的问题。我知道这个表单应该可以工作,但它根本不会发送任何$ _POST值。这是代码。

<form method="post" action="http://projects.zesty-designs.co.uk/orderform" class="generatedform"> 
<label>Ebay Username</label><br /> 
<input type="text" name="ebay_username" value="" /><br /> 
<label>Email Address</label><br /> 
<input type="text" name="email_address" value="" /><br /> 
<label>Full Name</label><br /> 
<input type="text" name="full_name" value="" /><br /> 
<input type="submit" value="Submit" /><input type="reset" value="Start Again" /> 
</form> 

这是实时链接,如果有人想尝试一下。 http://projects.zesty-designs.co.uk/orderform

+1

该HTML代码没有错。它应该工作。服务器可能是重定向到另一个页面,这意味着一个GET并丢失所有发布的数据? – 2013-02-11 20:38:57

+0

尝试通过完整的网址,http://projects.zesty-designs.co.uk/orderform/index.php – Afsar 2013-02-11 20:40:12

+0

感谢您的这种快速响应。我尝试将操作更改为“./”,并且它看起来工作得很好。所以也许这个网址有问题?我需要完整的网址,因为我会将此表单放在外部网页上。 – 2013-02-11 20:40:16

回答

2

看起来像大多数的意见是正确的。

似乎发送信息的URL需要尾部斜杠/或对直接文件的引用。

感谢您的回复。

1

尝试在action方法中传递完整的url;

http://projects.zesty-designs.co.uk/orderform/index.php 
0

您应该添加后缀.PHP喜欢动作=“domain.com/somepage.php”(如果它实际上是一个文件名)

+0

如果OP使用URL重写,那么'.php'应该或不应该基于他的规则存在。我们不能认为这是需要的,因为在这种情况下可能不需要。 – War10ck 2013-02-11 20:54:41

+0

这就是为什么我加了“如果它实际上是一个文件名” – Yaakov 2013-02-11 20:57:50

0

尝试escape your caracters像这样:

http:\/\/projects.zesty-designs.co.uk\/orderform

反斜杠字符有几种用途。首先,如果它后面跟着一个非字母数字字符,它将带走字符可能具有的任何特殊含义。将反斜杠用作转义字符既适用于内部字符类,也适用于外部字符类。

检查链接了解更多信息:Escape sequences @ Php.net Manual

基本上在PHP你\字符用于echo'ing出标志或转义字符

0

我是有传统的ASP完全相同的问题。 我有IIS规则重写和web.config中设置如下:

<rule name="arulename"> 
<match url="somematch" /> 
<conditions> 
    <add input="{REQUEST_METHOD}" matchType="Pattern" pattern="POST" negate="false" /> 
</conditions> 
<action redirectType="Temporary" type="Rewrite" url="someurl" /> 
</rule> 

我的问题是,当我点击提交按钮,表单没有提交。我的表单是完美的动作=“http://website.extension/someshorturl”,但没有发布数据。 换句话说,一切都是正确的,但发布的数据丢失或丢失,没有配置或编码错误。我发现的是,因为我已经设置了我的服务器本身,该域使用www。前缀,它重定向了没有www的所有内容。先加前缀。我只是不得不改变我的表单来说action =“http://www.website.extension/someshorturl”,并且发布了数据。

如果有人遇到同样的问题,我希望这能帮助他们。

我搜索高和低,使用“POST DATA BEING LOST”并没有得到任何帮助,直到我来到这里,这指出我的问题。