2016-06-15 3 views
1

У меня есть проблема с простой формы PHP:PHP POST не работает

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

И PHP запрос:

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

При нажатии на кнопку ничего не происходит.

+2

потому что у вашей кнопки есть кнопка 'button', ничего не происходит, либо удалите атрибут, либо измените его на' submit' – Dale

+0

Если вы хотите использовать кнопку 'type =", вам нужно будет отправить JS для отправки формы. В противном случае измените его на ответ @ Алока. –

ответ

3

Изменить тип кнопки на отправить вместо . Как это:

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

кнопочного типа не навязывает формы должны быть представлены. Если вам необходимо использовать кнопку, вы можете обрабатывать отправку формы в JS, обрабатывая событие onclick кнопки.

+0

Источник? Я думаю, вы ошибаетесь. http://stackoverflow.com/a/7117660/4007002 –

+0

Вы правы, это помогло. Благодаря! ;) –

+0

Только помогло, потому что у вас была 'type = 'button'' вместо' type =' submit'' или ничего. –

Смежные вопросы