Как проверить, была ли нажата кнопка в html/php

#php #html #button #blogs

Вопрос:

Я пытаюсь создать страницу блога с помощью HTML и PHP. У меня есть файл под названием edit.php с двумя кнопками на нем, Обновить и Удалить. Я хочу знать, как PHP может проверить, какая кнопка была нажата (Обновить или удалить), чтобы знать, какую функцию вызывать для обновления или удаления сообщения?

у меня есть свой html как:

 <input type="submit" name="command" value="Update" />
<input type="submit" name="command" value="Delete" onclick="return confirm('Are you sure you wish to delete this post?')" />
 

и в моем php-файле, который обрабатывает функции создания, удаления или обновления сообщений, я попытался использовать, например:

 if ($_POST amp;amp; ($_POST['submit'] == "Delete"))
{
  delete();
}
 

но я продолжаю получать ошибки, говоря: Предупреждение: Неопределенный ключ массива «отправить»

Если кто-нибудь может дать мне некоторое представление о том, как один PHP-файл может видеть значение кнопки из другого PHP-файла, я был бы признателен за это!

Комментарии:

1. $_POST является суперглобальным и всегда существует. Эта проверка не имеет смысла.

2. Ваша кнопка называется command , но ваш код ищет submit .

Ответ №1:

Используйте isset, чтобы проверить, существует ли var и имеет ли он какое-либо значение, отличное от null. Вы проверяете по типу ввода, вместо этого проверьте по имени поля ввода.

 <input type="submit" name="update" value="Update" />
<input type="submit" name="delete" value="Delete" onclick="return confirm('Are you sure you wish to delete this post?')" />

<?php
    if (isset($_POST['update'])) {
        update();
    }
    elseif (isset($_POST['delete'])) {
        delete();
    }
?>
 

Комментарии:

1. Это, кажется, не работает для меня…хм… мой edit.php в файле закодированы кнопки… я в своем insert.php файл, пытающийся получить доступ к имени поля ввода кнопок из edit.php… все, что у меня есть в моем insert.php файл прямо сейчас: if (isset($_POST[‘удалить’])) { эхо «удалить»; } но когда я сохраняю и нажимаю кнопку «Удалить» на своем edit.php page…it просто загружает белый screen….so похоже, что он все еще не распознает кнопку удаления…

2. Warning: Undefined array key "submit" это предупреждение все еще существует? Вы добавили два разных имени ввода для кнопок отправки формы?

3. @Адачи внутри Insert.php страница используется echo "<pre>"; print_r($_POST); echo "</pre>"; для проверки того, что вы получаете внутри СООБЩЕНИЯ

4. Хорошо, я заставил его работать, я вижу, что теперь он видит кнопку. Спасибо!