2017-05-31 7 views
-2

Wenn ich schreibe - if(isset($_POST['submit'])), wertet es immer zu falsch .. während, wenn ich einfach $_POST zu $_GET ändern, funktioniert es richtig.

Mein HTML code-

<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> 

Mein PHP

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

Der Ausgang i bekommen ist "default" und nicht das, was ich in der HTML- Form in Eingabefeld eingeben .. Kannst du sagen warum? Danke im Voraus.

+3

Das richtige Attribut ist 'Methode'. – JazZ

+1

Dies ist eine Tippfehlerfrage; außerhalb des Themas sein. –

+1

* "aber isset ($ _ GET) funktioniert ... warum?" * - Weil; die Methode ist falsch (es gibt keine) und wenn sie fehlschlägt, wird standardmäßig GET verwendet; Möchtest du das als Antwort? weil das hier wirklich passiert. –

Antwort

3

Das richtige Attribut, das Verfahren der Anforderung zu setzen, ist method:

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

mein Gott! Ich kann nicht glauben, dass ich 2 Stunden damit verbracht habe, das Problem zu beheben! xD Danke! –

2

Ich werde einfach meinen Kommentar als Community Wiki Antwort hinzufügen; Ich möchte nicht von dieser Aussage abweichen.

"aber isset ($ _GET) funktioniert ... warum?"

Weil; die Methode ist falsch (es gibt keine) und wenn sie fehlschlägt, wird sie (Formular) standardmäßig zu einer GET-Methode.

Das ist, was hier wirklich passiert.

+0

ja hab es .. danke :) –