PHP无法读取IIS asp.net应用程序中的POST值

时间:2017-12-23 22:39:09

标签: php post iis

我所拥有的某个PHP页面无法读取POSTed值。我已经从以下堆栈帖子中读到(并尝试过)建议:

PHP Can't get post data

Can't get $_POST values (php, html)

Can't get the $_POST Variable

PHP $_POST not working?

PHP POST not working

I can't read my POST HTTP request's body with PHP !

我可以证明发布的值来自发送PHP页面。在Chrome开发者工具的“网络”标签中:

enter image description here

这是我的代码:

$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脚本移出该树时,一切正常。为什么要重要,以及导致问题的原因是什么?

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

可能 url重定向存在问题。有时,由于重定向,可能会发生服务器将your/route重定向到your/route/并使用尾部斜杠导致$ _POST清空。

答案 1 :(得分:0)

我遇到了同样的问题,并通过更改此方法解决了该问题:

<modules runAllManagedModulesForAllRequests="true">

对此:

<modules>

在“ web.config”中。