2017-07-06 87 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

相关问题