我有一个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
)