【发布时间】:2017-11-03 19:02:06
【问题描述】:
所以直到今天之前,这从未发生在我身上。 我有一个登录表单,试图向操作表单发送一个简单的帖子。 var_dump 在我使用 post 方法时返回数组 0,但是当我使用 method = get 和 var_dump get 时,我得到了所有的字符串。
这是我的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" }
这从来没有发生在我身上,在我决定发布新帖子之前,我已经在堆栈上滚动了将近 2 天,以获得“可能的重复”,但我发现只有 1 个答案是关于“PHPStorm “但我不使用 phpstorm。我使用记事本++(是的,我可以使用 sublime 或 atom 或括号,但我已经习惯了记事本,我觉得不需要切换到另一个文本编辑器)。
有人知道这个问题的解决方法吗?提前致谢!
编辑:所以今天我决定打开一个我 4 个月前制作的项目,该项目一直有效,但该页面上的帖子也不起作用。那我做了什么?在所有这些问题开始之前,我决定删除我在几周前添加的那件东西。
从 IIS 重写 URL,这样我就可以删除 .phpextension 所以基本上这一直是我的问题,但到目前为止,在网上没有一个其他人在谈论这个的话题。如果可能有类似的问题。如果有人可以评论我的链接或解决方案,将不胜感激。谢谢。
所以当我在 webconfig 中有我的 URL 重写代码时,我的问题是“$_POST”不起作用。如果我删除重写代码,则 .php 扩展名会显示在浏览器中(我不想要),但我的 $_post 方法再次起作用。
【问题讨论】:
-
你检查过服务器PHP错误/警告吗?
-
您是否尝试过一次只获取一个值,例如 $_POST['uname'] 并打印它?只是一个想法。
-
尝试添加到表单 enctype="multipart/form-data"
-
@OlegDubas 是的,遗憾的是没有错误
-
@EricBrown 是的。什么都没有
标签: php iis web-config