2017-05-31 18 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

右の属性は 'method'です。 – 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

私はコミュニティのwikiの答えとして私のコメントを追加します。私はこれから担当者を望んでいない。

"ただし、isset($ _ GET)working ... why?"

メソッドが間違っている(何もありません)、失敗した場合はがデフォルトのをGETメソッドに返します。

これは実際にここで起こっていることです。

+0

ええ、それを持って..ありがとう:) –

関連する問題