簡體   English   中英

PHP 5.5 $_POST 數組為空

[英]PHP 5.5 $_POST array empty

編輯:if語句的我用的var_dump($ _ POST)之外

我嘗試了多種解決方案,但都沒有奏效,所以這是我解決此問題的最后一次嘗試。 我有一個用 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'); 返回:

login-email=user%40email.com&login-password=123123&login-remember-me=on&login=

就像我說的,在谷歌搜索這個問題幾十次之后,我已經嘗試了我遇到的所有解決方案。 我在帶有 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,這仍然沒有解決這個問題。

我注意到你提交按鈕沒有value 嘗試賦予它價值。 這就是為什么您的 PHP 代碼始終不在 if 語句中的原因,因為$_POST['login']未設置。

根據您的帖子:

login-email=user%40email.com&login-password=123123&login-remember-me=on&login=

所以在你的 PHP 代碼中:

if (isset($_POST['login'])) { //there is no value on $_POST['login] so it skips the statement.
    var_dump($_POST);
}

但是,如果您像下面的示例那樣對其進行賦值:

<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" value="login" type="submit">Login</button>
</form>

它會產生這樣的東西:

login-email=user%40email.com&login-password=123123&login-remember-me=on&login=login

那么你的 PHP if 條件將得到滿足。

if (isset($_POST['login'])) {
    var_dump($_POST);
}

輸出:

array(4) { ["login-email"]=> string(4) "test" ["login-password"]=> string(4) "test" ["login-remember-me"]=> string( 2) "on" ["login"]=> string(5) "login" }

我已經找到了問題的原因,但還沒有解決問題。 幸運的是,我不是這個問題持續存在的原因。 似乎問題出在 IntelliJ IDEA 的內置網絡服務器中。 希望這有助於其他人找到解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM