2017-07-06 24 views
0

所以我試圖學習HTML + PHP,但它似乎我已經打了一堵牆。如果我在我的html表單中使用GET方法,那麼參數會發送到我的php文件中,但如果我嘗試使用POST方法執行相同操作,則不會發送任何參數。我可以使用GET方法發送表單數據,但不發佈,爲什麼?

@編輯:我已經記下了這裏顯示的初始代碼示例,因爲我發現它不是特定於該代碼的問題。相反,我張貼的也有同樣問題的基本方式和基本的PHP腳本:

HTML文件:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
</head> 
<body> 
    <form action="testingForm.php" method="POST"> 
     INPUT: <input type="text" id="iTesting" name="nTesting"/><br/> 
     <input type="submit" value="SUBMIT"/> 
    </form> 
</body> 
</html> 

php文件:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"/> 
    <title></title> 
</head> 
<body> 
<?php 
    /* THIS WORKS: */ 
    /*if (isset($_GET["nTesting"])) 
     echo "It is working! ".$_GET["nTesting"]; 
    else 
     echo "It is NOT working! input: ".$_GET["nTesting"]; 
    echo "<br/>".$_SERVER['REQUEST_METHOD']."<br/>"; 
    echo "<br/>".var_dump($_GET);//*/ 

    /* THIS DOESN'T: */ 
    if (isset($_POST["nTesting"])) 
     echo "It is working! ".$_POST["nTesting"]; 
    else 
     echo "It is NOT working! input: ".$_POST["nTesting"]; 
    echo "<br/>".$_SERVER['REQUEST_METHOD']."<br/>"; 
    echo "<br/>".var_dump($_POST);//*/ 
?> 
</body> 
</html> 

如前所述,如果我改變GET的表單方法,我完全沒有問題。但是,使用POST方法時似乎不會發送數據。

這是使用GET方法的輸出:

這是工作!輸入:測試

GET

陣列(1){[ 「nTesting」] =>串(4) 「測試」}

這是使用POST方法的輸出:

它不工作!輸入:

POST

陣列(0){}

此外,使用開發工具我可以看到有一個參數nTesting:在網絡選項卡的FORMDATA部分測試。然而,沒有顯示。

+1

'的var_dump($ _ POST);' – rtfm

+0

var_dump($ _ POST)的@rtfm響應;是數組(0){} – MuriloRM

+1

什麼是$ _SERVER ['REQUEST_METHOD']'? – Barmar

回答

1

如果您使用Chrome

  1. 轉到index.html的
  2. 按F12鍵。開發人員工具將顯示
  3. 點擊網絡
  4. 蜱保留日誌和禁用緩存(我通常只是這樣做的)
  5. 從index.html的點擊提交按鈕(不要關閉開發者工具)
  6. 圍棋返回到開發人員工具單擊'teste.php'
  7. 單擊標題,然後展開一般。你會看到'請求方法'。它應該是POST

與@MuriloRM工作後,我們結束了與PHPStorm

根本錯誤

請投票了問題的解決 https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000097930-Can-not-use-POST-method-in-PhpStorm

+0

它確實顯示爲後,但我似乎無法使用任何參數。 Isset函數也返回false。 – MuriloRM

+1

我知道你一直在測試GET是否成功,POST不是。我試圖引導你通過孤立問題的地方。下一步是檢查發送的實際有效載荷。在開發工具的「表單數據」下。它下面是什麼? – wsantos

+1

好吧,現在你正在看到表單數據。如果你有提琴手安裝嘗試從那裏發佈。如果這是瀏覽器和服務器之間的傳輸錯誤,現在將隔離。 – wsantos

相關問題