我有以下表格:
<form name="mainLogin" class="Login" action="login.php" method="post">
<p><label for="user">Username</label><input type="text" name="user" class="field" value="" /></p>
<p><label for="pass">Password</label><input type="password" name="loginpass" class="field" /></p>
<p><label for="remember">Remember Me</label><input type="checkbox" name="remember" /></p>
<p class="submit"><input type="submit" name="submit" class="submit" value="Submit"/></p>
</form>
当我提交表单时,请求方法通过以下方式正确检测为POST方法:
$post = $_SERVER['REQUEST_METHOD'] == 'POST' ? TRUE : FALSE;
返回值1,因此它确实认识到它是我理解的post方法。
我可以在这里查看提交的值:
print "CONTENT_TYPE: " . $_SERVER['CONTENT_TYPE'] . "<BR />";
$data = file_get_contents('php://input');
print "DATA: <pre>";
print "data dump:";
var_dump($data);
print "post dump:";
var_dump($_POST);
print "request dump:";
var_dump($_REQUEST);
print "</pre>";
- 输出:
CONTENT_TYPE: application/x-www-form-urlencoded
DATA:
data dump:string(54) "user=iamauser&loginpass=hereismypassword&submit=Submit"
post dump:NULL
request dump:array(7) {
["user"]=>
string(8) "iamauser"
["loginpass"]=>
string(16) "hereismypassword"
["submit"]=>
string(6) "Submit"
["umnmobileprompted"]=>
string(1) "1"
["s_fid"]=>
string(33) "18220EB1AE5FB45B-1C283313CA70F773"
["s_lv"]=>
string(13) "1382110868576"
["PHPSESSID"]=>
string(26) "52954uech9k413ssk62kvsmdb4"
}
这个网络表单用于工作,我不知道任何更改,虽然我不确定服务器上的配置是否已更改。在我去找他们之前,我想知道我应该寻找什么,以及我应该问他们可能会导致这种行为。
以下是要求的输出:
print_r post says: 1
var_dump iniget post max size says: string(2) "8M"
var_dump server request method says: string(4) "POST"
答案 0 :(得分:0)
这已经解决了。
它与$ _POST数据无关,但与处理中的旧函数无关,该函数用于从$ _POST数据中删除魔术引号。如果魔术引号实际上已关闭,则不会返回任何数据,因此它被返回为空。