2

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

现在我在另一台服务器上创建了一个 from with post 方法,并将数据发布到这个 persoanl 服务器(具有 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空!

4

1 回答 1

0

这是一个疯狂的猜测。也许您忘记在表单中设置方法。

<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
)
于 2013-07-24T07:13:32.493 回答