2016-06-15 11 views
1

Ich habe ein Problem mit einfacher PHP Form bekommt:PHP Methode POST funktioniert nicht

<form class="form-horizontal" method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>" align="center"> 
    <?php 
     session_start(); 
     if (isset($_SESSION['login'])) { 
      echo'<div class="row">'; 
      echo '<textarea style="resize: none; width: 45%; height: 150px;" name="comments" id="comments" placeholder="Leave a comment here..."></textarea>'; 
      echo '</div>'; 
      echo '<div class="row" style="margin-top: 10px;">'; 
      echo '<button type="button" class="btn btn-success" name="complete">Submit</button>'; 
      echo '</div>'; 
     } else { 
      echo '<h4>You must be logged in to add comments.</h4>'; 
     } 
    ?> 
</form> 

Und PHP Anfrage:

<?php 
    if (isset($_POST['complete'])) { 
     $text_field = $_POST['comments']; 
     $result = mysqli_query($link, "INSERT INTO `comments` (`text`) VALUES ('$text_field')"); 
    } 
?> 

Wenn ich auf Schaltfläche nichts passiert.

+2

Da Ihre Schaltfläche den Typ 'button' hat passiert nichts, entweder entfernen Sie das Attribut oder ändern Sie es in' submit' – Dale

+0

Wenn Sie 'type =" button "' verwenden möchten, müssen Sie JS das Formular senden. Ansonsten ändere es per @ Aloks Antwort. –

Antwort

3

Ändern Sie den Schaltflächentyp in Senden statt Schaltfläche. Wie folgt aus:

<button type="submit" class="btn btn-success" name="complete">Submit</button> 

Taste Typ-Form nicht erzwingen eingereicht werden. Wenn Sie button eingeben müssen, können Sie die Formularübergabe auf JS verarbeiten, indem Sie das onclick-Ereignis einer Schaltfläche behandeln.

+0

Quelle? Ich denke, du liegst falsch. http://stackoverflow.com/a/7117660/4007002 –

+0

Sie haben Recht, es hat geholfen. Vielen Dank! ;) –

+0

Hilft nur, weil du 'type = 'button'' anstelle von' type =' submit''oder nichts hast. –

Verwandte Themen