我有最简单的形式,我想做的就是回显文本框中写入的内容。
HTML:
<form action="" method="post">
<input type="text" name="firstname">
<input type="submit" name="submit" value="Submit">
</form>
PHP:
if(isset($_POST['submit'])){
$test = $_POST['firstname'];
echo $test;
}
问题是它无法在我的服务器上运行(它可以在另一台服务器上运行)。有谁知道可能出了什么问题吗?服务器上还有其他表单并且工作正常。
今天晚上我也遇到了类似的事情,这让我抓狂。提交表单给了我 $_REQUEST 中的值,但不是 $_POST 中的值。
最终我注意到 Firebug 的网络选项卡上实际上有两个请求;首先是带有 301 响应的 POST,然后是带有 200 响应的 GET。
在互联网上搜索,听起来大多数人都认为这与 mod_rewrite 导致 POST 请求重定向并因此更改为 GET 有关。
就我而言,这不是 mod_rewrite 的错,它要简单得多......我的 POST URL 还包含一个 GET 查询字符串,该字符串在 URL 上没有尾随斜杠的情况下开始。正是这导致 apache 重定向。
指出不同...
Bad:
Good:
最下面的一个不会导致重定向并给我 $_POST!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)