編輯:我用if語句的var_dump($ _ POST)OUTSIDE。
我試過多種解決方案,都沒有工作,所以這是我最後一次嘗試解決這個問題。我有一個用HTML編寫的表單,通過POST將數據發送到PHP腳本,無論出於何種原因,PHP腳本僅將$ _POST讀爲空。
這是我的PHP代碼:
if (isset($_POST['login'])) {
die('test');
}
這是我的HTML形式:
<form action="api/login.php" method="post">
<input type="text" name="login-email" placeholder="Email">
<input type="password" name="login-password" placeholder="Password">
<input type="checkbox" name="login-remember-me" checked>
<button name="login" type="submit">Login</button>
</form>
var_dump($_POST);
回報:
陣列(0){}
file_get_contents('php://input');
回報:
登錄電子郵件=用戶%40email.com &登錄密碼= 123123 &登錄記住,我=上&登錄=
就像我說的,我都想盡我在Google搜索這個問題數十次後遇到的解決方案。我正在使用IntelliJ IDEA 15.0.4在Windows 10 Enterprise x64上使用PHP 5.5.32 NTS。
編輯:做var_dump($ GLOBALS),我的輸入停留在[「HTTP_RAW_POST_DATA」],並沒有在其他地方結束。我也嘗試使用PHP 5.6.19 NTS而不是5.5.32,但仍未解決此問題。
您也可以像下面那樣轉儲'$ GLOBALS':'var_dump($ GLOBALS);'來查看輸入結束的位置。 – Fin
這可能聽起來很愚蠢,但你可能不會看'api/login.php',而是在不同的位置使用同名的文件...?嘗試改變你正在編輯的文件上的一些文本(並認爲是正確的),並看看它是否實際顯示... – webeno
@JohnVegas檢查php.ini'post_max_size'值並確保它被設置爲有效值?即'8M' vs'8MB' –