从远程表单发布时,XAMPP上的$_POST为空


$_POST is empty on XAMPP when post from remote form

我有一个Windows VPS服务器,这个服务器是一个个人服务器,所以我在这个服务器上安装了运行PHP和Apache的XAMPP。

现在,我在另一台服务器上创建了一个from with post方法,并将数据发布到这个persoanal服务器(具有XAMPP)。

当我使用$_POST时,这个变量是空的,我也检查了$_REQUEST,但这个变量也是空的。

本地表单没有这个问题,$_POST会传递所有发布的变量,我只是在远程表单中有这个问题。

我认为这个问题与安全有关,我应该在php.ini上更改它,但我不知道该怎么办!

更新:

HTML代码:

<form method="post" action="http://xxx.xxx.xxx.xxx/login.php">
  <input type="text" name="username" value="Username ..." />
  <br/>
  <input type="password" name="password" value="Password ..." />
  <br/>
  <br/>
  <input type="submit" name="submit" value="Send" />
</form>

PHP代码:

<?php
echo $_POST['username'];
echo $_POST['password'];
print_r($_POST);
print_r($_REQUEST);
print_r($GLOBALS);
?>

如果位于同一服务器上的两个文件php文件都可以工作,$_POST将返回已发布的变量,但如果位于不同服务器上的HTML文件,$_POST将为空!

这是一个疯狂的猜测。也许你忘了在表格中设置方法。

<form method="post" action="http://somepage.com/">

为了确保接收端的post数组不是空的,您还需要一些具有定义名称的输入字段。

<input type="text" name="my_value" value="test value" />

然后,在接收服务器上print_r($_POST)应该创建如下内容:

Array
(
    [my_value] => test value
)