所以这件事直到今天才发生在我身上。 我有一个登录表单,试图将简单的帖子发送到操作表单。当我使用post方法时,var_dump返回数组0但是当我使用method = get和var_dump时,get i得到所有的字符串。
这是我的HTML代码
<form name="mlsnavform" id="mlsnavform" action="script/mlsnavform.php" method="POST">
<input id="uname" name="uname"type="text" placeholder="Username" autocomplete="off">
<input id="loginbtn" name="loginbtn" type="submit" value="SIGN IN">
</form>
这里是mlsnavform.php
<?php
var_dump($_POST);
?>
结果是array(0) { }
但是,当我将方法从post更改为get,并使用var_dump($ _ get)而不是$ _post时,我会获取值,但是在您的URL地址中显示的当前登录凭据不是我想要做的事情。 使用get填充我的数组我需要的东西
array(2) { ["uname"]=> string(9) "damnitphp" ["loginbtn"]=> string(7) "SIGN IN" }
这永远不会发生在我身上,我现在已经在堆栈上滚动了近两天,因为这是一个可靠的复制品#34;在我决定发一篇新文章之前,我发现只有一篇文章有一个答案在谈论&#34; PHPStorm&#34;但我不使用phpstorm。我使用notepad ++(是的,我可以使用sublime或atom或括号,但我习惯于记事本,我觉得不需要切换到另一个文本编辑器。)
任何人都知道有任何解决方法吗?提前谢谢!
编辑:所以今天我决定打开一个我在4个月之前做过的项目总是有效,但该页面的帖子也没有用。那我做了什么?我决定删除我在几周前添加的所有这些问题开始之前的那件事。
来自IIS的URL REWRITE,因此我可以删除.phpextension 所以基本上这是我一直以来的问题,但到目前为止谷歌搜索网上没有一个主题,其他人正在讨论这个问题。如果可能存在类似的问题。非常感谢,如果有人可以评论我的链接或解决方案。谢谢提前。
所以我的问题是&#34; $ _ POST&#34;当我在webconfig中使用URL重写代码时,它不起作用。如果我删除了重写代码,那么.php扩展名会在浏览器中显示(我不想要),但我的$ _post方法再次起作用。
答案 0 :(得分:0)
您可以查看php.ini中的enable_post_data_reading
来自php.ini:
; Whether PHP will read the POST data.
; This option is enabled by default.
; Most likely, you won't want to disable this option globally. It causes $_POST
; and $_FILES to always be empty; the only way you will be able to read the
; POST data will be through the php://input stream wrapper. This can be useful
; to proxy requests or to process the POST data in a memory efficient fashion.
; http://php.net/enable-post-data-reading
检查此选项是否已取消注释,并使用";"
;enable_post_data_reading = Off
答案 1 :(得分:0)
你可能正在使用超全局变量名POST和GET太字面了。 $ _GET是已解析的查询字符串,它独立于HTTP方法,即即使有POST请求也始终存在。当符合某些约束时,$ _POST是解析的HTTP主体(内容类型头必须指定application / x-www-form-urlencoded或multipart / form-data,我认为该方法必须是&#34 ; POST&#34; - 请注意,如果不符合约束条件,即使您使用POST方法,也无法在$ _POST中获取任何数据。
<form name="mlsnavform" id="mlsnavform" enctype="application/x-www-form-urlencoded" action="script/mlsnavform.php" method="POST">
<input id="uname" name="uname"type="text" placeholder="Username" autocomplete="off">
<input id="loginbtn" name="loginbtn" type="submit" value="SIGN IN">
</form>