2016-12-05 11 views
1

В настоящее время я работаю над HTML-страницей, где я могу загрузить Excel, а также получить данные из базы данных между указанным диапазоном дат. Одна кнопка отправки выводит данные из excel и базы данных и сравнивает значение из обоих списков и отображает конфликтующие значения. Мне нужно добавить еще одну кнопку отправки, где пользователь может установить, как должно выполняться сопоставление для конфликтующих значений в той же форме.Несколько кнопок отправки в одной форме с обеими кнопками отправки, доступными в PHP

Как использовать две кнопки отправки одновременно с данными, размещенными в первой кнопке отправки, доступной во второй кнопке отправки на PHP?

+0

Удалено несколько дополнительных вопросительных знаков. – rlandster

ответ

0

Пока кнопки подать помещаются внутри одного form элемента, нажав на любой из них будет представлять форму они помещены в.

При том, что все поля в той же форме будет представлен.

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

Чтобы добавить кнопку отправки, вы можете добавить name.

<input type="submit" name="submit1"> 
<input type="submit" name="submit2"> 

Предполагая, что эта форма представляется с помощью метода POST, вы можете проверить, какая кнопка была нажата представить с помощью приведенного примера.

$importData = isset($_POST["submit1"]); 
$mapSettings = isset($_POST["submit2"]); 

Таким образом, вы можете достичь этого путем размещения всех полей в различных формах в то же form элемента. Все поля в элементе формы будут отправлены, несмотря на то, что нажата кнопка отправки.

Затем вы можете использовать логический результат выше, чтобы определить, что делать.

0

Лучший ответ, который я видел до сих пор для этой ситуации:

<input type="submit" name="action" value="Update" /> 
<input type="submit" name="action" value="Delete" /> 

Затем в проверке коды, чтобы увидеть, который был запущен:

if ($_POST['action'] == 'Update') { 
    //action for update here 
} else if ($_POST['action'] == 'Delete') { 
    //action for delete 
} else { 
    //invalid action! 
} 

Единственная проблема с этим является вы связываете ваша логика к тексту внутри входа. Вы также можете дать каждому из них уникальное имя и просто проверить $ _POST для существования этого входа:

<input type="submit" name="update_button" value="Update" /> 
<input type="submit" name="delete_button" value="Delete" /> 

И в коде:

if (isset($_POST['update_button'])) { 
    //update action 
} else if (isset($_POST['delete_button'])) { 
    //delete action 
} else { 
    //no button pressed 
} 

Существует хороший пост об этом здесь: Two submit buttons in one form