Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HTML表单发送get和post。使用302重定向_Php_Html_Apache_Post_Get - Fatal编程技术网

Php HTML表单发送get和post。使用302重定向

Php HTML表单发送get和post。使用302重定向,php,html,apache,post,get,Php,Html,Apache,Post,Get,当用户单击submit时,它向脚本发送post和get请求。Post返回一个302 find,Get返回一个200,但在提交表单后,print\r显示一个空数组。我不明白为什么会这样 这是在一个带有PHP5.4和Apache2.4的AWS Linux实例上运行的 代码如下: <?php print_r($_REQUEST); ?> <!doctype html> <html> <meta charset="UTF-8" /> <title&g

当用户单击submit时,它向脚本发送post和get请求。Post返回一个302 find,Get返回一个200,但在提交表单后,print\r显示一个空数组。我不明白为什么会这样

这是在一个带有PHP5.4和Apache2.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>

登录
请登录:


您的邮件不是发送邮件和获取邮件。 然后,您的服务器用重定向(302)进行响应,该重定向使您的浏览器通过GET加载给定的URL。此时,数据丢失(由于重定向),数组为空。问题是为什么服务器指示重定向。
最可能的原因是您的htaccess文件。请发送它。

HTML表单不能“同时使用两种方法”提交。可以肯定的是,它是由表单/浏览器发送的POST请求,由服务器发送的302响应,然后是由浏览器发送的GET请求。现在,从目前显示的代码来看,302出现的原因还不清楚。首先,我要检查表单的action属性实际上包含什么。重新检查你的假设。你可以考虑离开<代码>动作< /代码>空白。它将提交到当前URL。@CBroe:理论上,如果在post操作中添加查询字符串,您可以将post和get混合使用,不是吗?@Gerfried,这仍然会使其成为post请求,而恰好转到包含查询字符串的URL。在PHP中处理数据时,它将相应地填充$\u POST和$\u GET,但请求头第一行中的方法仍然是POST。我进行了搜索,没有任何.htaccess文件。是否可能在配置文件中?是否尝试使用不同的浏览器?我了解到这可能是由于缺少/错误的数据长度属性造成的。