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

4

5 回答 5

3

看来大部分评论都是对的。

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

感谢您的回复。

于 2013-02-11T20:44:20.313 回答
1

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

http://projects.zesty-designs.co.uk/orderform/index.php
于 2013-02-11T20:39:42.127 回答
0

您应该添加 .php 后缀,例如 action="domain.com/somepage.php" (如果它实际上是文件名)

于 2013-02-11T20:42:44.660 回答
0

试着escape your caracters喜欢这样:

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

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

检查链接以获取更多信息:转义序列@ Php.net 手册

基本上在 PHP 中,您的\角色用于回显标志或转义字符

于 2013-05-21T15:25:25.463 回答
0

我在使用经典 asp 时遇到了完全相同的问题。我将 IIS RULE REWRITE 和 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>

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

如果有人和我有同样的问题,我希望这会对他们有所帮助。

我搜索了高低,使用“POST DATA BEING LOST”并没有得到任何帮助,直到我来到这里,这让我找到了问题所在。

于 2015-07-01T01:03:55.297 回答