2016-01-10 91 views
0

我在本地主機中的表單提交POST方法有一些問題。我創建了一個非常簡單的頁面來測試GET和POST方法是否工作,但只有GET方法正在檢索值。代碼如下:POST方法沒有傳遞值,而GET方法正常工作

表單代碼:

<form method="post" action="login.php"> 
    <input type="text" name="username"><br> 
    <input type="password" name="password"><br> 
    <input type="submit" value="Login"> 
</form> 

在login.php中的一頁,我發放只是一個簡單的命令來測試,如果沒有在$ _POST變量的任何值:

<?php var_dump($_POST);?> 

原來是一個空的數組。

不過,如果我更改爲GET方法,

<?php var_dump($_GET);?> 

打印結果如下命令:

array (size=2) 
    'username' => string 'test' (length=4) 
    'password' => string 'test' (length=4) 

我尋覓了很多線程,但大多都指向編碼錯誤,這在這裏似乎不是這種情況。在任何情況下,如果這些信息有用,我正在使用WampServer 2.5和PhpStorm 10.

非常感謝您的幫助!

最佳, 勞羅

+0

請看看這裏:http://stackoverflow.com/questions/9002424/php-post-not-working – etalon11

+0

你有'.htaccess'嗎?重定向在裏面? – Armen

回答

0

沒有什麼錯,你已經發布的代碼。您可以使用HTTP客戶端(例如Postman)檢查您的login.php是否捕獲郵件值。此外,爲了測試目的,嘗試在同一頁面提交表單。然後var_dump變量$_POST變量。另外你也應該檢查$_REQUEST變量是否包含值。

0

我的猜測是這是一個PHPStorm 10問題(see here)。他們很快可能會修復它。

您可以通過使用file_get_contents('php://input');或恢復到早期版本的PHPStorm來解決此問題。

您也許可以使用Vagrant等設置虛擬機並配置PHPStorm來使用它。看起來像PHPStorm已經有integration with Vagrant