我所拥有的某个PHP页面无法读取POSTed值。我已经从以下堆栈帖子中读到(并尝试过)建议:
Can't get $_POST values (php, html)
I can't read my POST HTTP request's body with PHP !
我可以证明发布的值来自发送PHP页面。在Chrome开发者工具的“网络”标签中:
这是我的代码:
$firstName = trim($_POST["txtFirstName"]);
$lastName = trim($_POST["txtLastName"]);
$email = trim($_POST["txtEmail"]);
$phone = trim($_POST["txtPhone"]);
var_dump( $_POST );
echo "<br>";
print_r($_POST);
echo "<br>";
print_r($_REQUEST);
echo "<br>";
echo("firstName: $firstName" . "<br>");
echo("lastName: $lastName" . "<br>");
echo("txtFirstName: " . $_POST["txtFirstName"] . "<br>");
echo("txtLastName: " . $_POST["txtLastName"] . "<br>");
die();
结果发送到浏览器:
array(0) { }
Array ( )
Array ( )
firstName:
lastName:
txtFirstName:
txtLastName:
以下是提交页面中表单的一部分:
<form method='post' action="Signup1.php" onsubmit="return checkForm(this)">
...
<input name='txtFirstName' id='txtFirstName' maxlength="25" type='text' />
...
</form>
如您所见,一切都是空白/空白。多年来我多次使用过PHP表单帖子,从来没有像这样的问题。我在我的IIS机器上本地运行PHP 5.6.11。
我的php脚本位于asp.net应用程序共享的同一文件夹树中(在已配置的IIS应用程序中)。当我将PHP脚本移出该树时,一切正常。为什么要重要,以及导致问题的原因是什么?
有什么想法吗?
答案 0 :(得分:0)
可能 url重定向存在问题。有时,由于重定向,可能会发生服务器将your/route
重定向到your/route/
并使用尾部斜杠导致$ _POST清空。
答案 1 :(得分:0)
我遇到了同样的问题,并通过更改此方法解决了该问题:
<modules runAllManagedModulesForAllRequests="true">
对此:
<modules>
在“ web.config”中。