HTML表单发送和发布。使用302

时间:2016-11-03 20:00:44

标签: php html apache post get

当用户点击提交时,它会向脚本发送一个发布和获取请求。 Post返回302 Found,Get返回200,但print_r在提交表单后显示一个空数组。我无法弄清楚为什么会这样。

这是在使用PHP 5.4和Apache 2.4的AWS Linux实例上运行。

以下是代码:

<?php
print_r($_REQUEST);
?>
<!doctype html>
<html>
<meta charset="UTF-8" />
<title>Login</title>
<head>

</head>
<body>

<p>Please login:</p>

<form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="post">
<table>
    <tr>
        <td>
            username
        </td>
        <td>
            <input type="text" name="username" id="username" style="width:400px;"> (case sensitive)
        </td>
    </tr>
    <tr>
        <td>
            password
        </td>
        <td>
            <input type="password" name="password" id="password" style="width:400px;">
        </td>
    </tr>
    <tr>
        <td colspan="2" align="center">
            <input type="submit" value="submit">
        </td>

    </tr>
</table>
</form>


</body>
</html>

当我点击提交时,这就是我在FF开发工具中看到的内容:

dev tols results

1 个答案:

答案 0 :(得分:4)

你没有发送POST和GET - 只有POST。 然后,您的服务器会使用重定向(302)进行响应,这会使您的浏览器通过GET加载给定的URL。此时您的数据将丢失(由于重定向)并且数组为空。问题是您的服务器指示重定向的原因。 最可能的原因是你的htaccess文件。你能发好吗?