Тип кнопки = отправить с php isset вместо кнопки типа ввода

Я искал это, но нигде не нашел. когда я ищу имя и значение кнопки, везде упоминается тип ввода = кнопка

Но я ищу кнопку type = submit вместо input type = button, я хочу разрешить пользователям удалять свои комментарии. Итак, кнопка удаления отображается как ссылка

HTML - это

<button class="likeslink" type="submit" name="delcom" value="<?php echo $comid ?>"><small>Delete</small></button>

Я не понимаю, как я могу проверить, нажата ли эта кнопка или не использую php, как я пытался

<?php
if(isset('delcom'))
{
$sql = "DELETE FROM comments WHERE id = :id";
$stmt = $DB->prepare($sql);
$stmt->bindValue(":id", $comid);
$stmt->execute();
}
?>

Но это не работает.

Между тем, мне нужно всплывающее предупреждающее сообщение, подтверждающее удаление запроса, включая кнопки удаления или отмены на нем.

Мне не нужно это простое предупреждение javascript вверху страницы. Мне нужно какое-то всплывающее окно посередине экрана с моей собственной цветовой схемой

Пожалуйста помоги


person Atif Sheikh    schedule 20.06.2017    source источник
comment
if(isset('delcom')) вы уверены, что это не $delcom? или $_POST['delcom']?   -  person Luca Kiebel    schedule 20.06.2017


Ответы (2)


Обязательно получите его из переменной POST для проверки. Вероятно, именно это вы и собираетесь делать.

<?php
    if(isset($_POST['delcom']))
    {
        $sql = "DELETE FROM comments WHERE id = :id";
        $stmt = $DB->prepare($sql);
        $stmt->bindValue(":id", $comid);
        $stmt->execute();
    }
?>
person jkeys    schedule 20.06.2017
comment
button не находится в каком-либо теге формы с методом post, это всего лишь простая кнопка с использованием css. все равно будет работать как $_POST['delcom']? - person Atif Sheikh; 20.06.2017
comment
Он должен находиться в тегах формы. - person jkeys; 20.06.2017

По сути, просто создайте простую форму для кнопки отправки, а затем используйте $_GET[] или $_POST[], чтобы получить значение:

<form method="POST" action="path/to/php">
  <input type="hidden" name="dodelete" value="1" />
  <button type="submit">Delete</button>
</form>

И PHP:

if (isset($_POST['dodelete'])) {
  // do something
}

Вы также можете просто использовать обычную ссылку:

<a href="path/to/php?dodelete=1">Delete</a>

а затем просто замените $_POST на $_GET в PHP. Вы также можете использовать <button> вместо anchor, но вам нужно будет добавить к нему событие onClick.

Кроме того, чтобы вы знали, следующие наборы идентичны:

  • <input type="button" value="ABC" /> и <button tyoe="button">ABC</button>
  • <input type="submit" value="ABC" /> и <button type="submit">ABC</button>
  • <input type="reset" value="ABC" /> и <button type="reset">ABC</button>
person samanime    schedule 20.06.2017
comment
Итак, я должен использовать форму с методом публикации, чтобы получить значение этой кнопки на той же странице. Нет ли способа получить значение кнопки удаления без использования формы? - person Atif Sheikh; 20.06.2017
comment
Вам нужно использовать форму. Форма - это то, что дает вам данные. Кнопка - это только способ сообщить форме, что нужно отправить данные. - person samanime; 20.06.2017
comment
Вы правы, я пытался с помощью этой кнопки отправить свое значение без использования формы, но она не работала. Хорошо, есть ли у вас ответ на мой второй вопрос о всплывающем предупреждении, чтобы подтвердить, хочет ли пользователь удалить комментарий или нет. - person Atif Sheikh; 21.06.2017