2017-05-31 142 views
-2

当我写 - if(isset($_POST['submit'])),它总是评估为false ..而如果我只是将$_POST更改为$_GET,它工作正常。

我的HTML代码 -

<html> 
    <body> 
     <form action="welcome.php" action="post"> 
      <input type="text" name="username"> <br> 
      <input type="submit" name="send">Click me </input> 
     </form> 
    </body> 
</html> 

我的PHP代码 -

<?php 
$name="default"; 
if(isset($_POST['send'])){ 
    $name = $_POST['username']; 
} 
echo $name; 
?> 

输出我得到的是 “默认”,而不是我在输入字段在HTML形式键入..你能说出原因吗?提前致谢。

+3

正确的属性是'方法'。 – JazZ

+1

这是一个错字问题;脱离主题。 –

+1

*“但是isset($ _ GET)正在工作......为什么?”* - 因为;该方法错了(没有),当它失败时,它默认为GET;你会喜欢这个答案吗?因为这就是这里真正发生的事情。 –

回答

3

设置请求的方法正确的属性是method

<html> 
    <body> 
     <form action="welcome.php" method="post"> 
      <input type="text" name="username"> <br> 
      <input type="submit" name="send" /> 
     </form> 
    </body> 
</html> 
+0

我的天!不能相信我花了2个小时试图解决这个问题! xD谢谢! –

2

我只是添加为一个社区维基回答我的意见;我不希望这个代表。

“but isset($ _ GET)working ... why?”

因为;该方法是错误的(没有),当它失败时,它(形式)默认为 GET方法。

这就是真正在这里发生的事情。

+0

是啊明白了..谢谢:) –

相关问题