В настоящее время у меня есть HTML-форма, в которой пользователь вводит заголовок и текст для статьи. Когда настало время представить, они представлены двумя кнопками. Один из них заключается в том, чтобы «сохранить» свою статью, не публикуя ее, а другой – «опубликовать» статью и сделать ее общедоступной.
Я использую PHP, и я пытаюсь выяснить, как определить, какую кнопку использовать, чтобы сохранить соответствующее соответствующее значение в базе данных.
<td> <input type="submit" class="noborder" id="save" value="" alt="Save" tabindex="4" /> </td> <td> <input type="submit" class="noborder" id="publish" value="" alt="Publish" tabindex="5" /> </td>
Вероятно, следовало бы упомянуть об этом раньше, но я не могу назначить значения кнопок, потому что кнопка представляет собой изображение, поэтому текст будет отображаться над ним.
Дайте каждому атрибуту name
. На сервер будет отправлен только атрибут name
имени щелчка.
<input type="submit" name="publish" value="Publish"> <input type="submit" name="save" value="Save">
А потом
<?php if (isset($_POST['publish'])) { # Publish-button was clicked } elseif (isset($_POST['save'])) { # Save-button was clicked } ?>
Изменить: Изменены атрибуты value
на alt
. Не уверен, что это лучший подход для кнопок с изображениями, хотя, по какой-то конкретной причине вы не хотите использовать input[type=image]
?
Edit: Так как это продолжает получать upvotes, я пошел вперед и изменил странный код alt
/ value
на реальные входные данные. Я считаю, что в исходном вопросе задавались какие-то кнопки с изображениями, но есть гораздо лучшие способы достичь этого в наши дни, а не использовать input[type=image]
.
Дайте имя и значения тем кнопкам отправки, как:
<td> <input type="submit" name='mybutton' class="noborder" id="save" value="save" alt="Save" tabindex="4" /> </td> <td> <input type="submit" name='mybutton' class="noborder" id="publish" value="publish" alt="Publish" tabindex="5" /> </td>
а затем в вашем php-скрипте вы можете проверить
if($_POST['mybutton'] == 'save') { ///do save processing } elseif($_POST['mybutton'] == 'publish') { ///do publish processing here }
Если вы не можете поместить значение на кнопки. У меня только грубое решение. Поместите скрытое поле. И когда одна из кнопок нажата перед отправкой, введите значение скрытого поля, как говорят 1, когда первая кнопка нажата, а вторая – вторая. и на странице отправки проверьте значение этого скрытого поля, чтобы определить, какой из них щелкнуть.
Вы можете использовать его следующим образом:
<td> <input type="submit" name="save" class="noborder" id="save" value="Save" alt="Save" tabindex="4" /> </td> <td> <input type="submit" name="publish" class="noborder" id="publish" value="Publish" alt="Publish" tabindex="5" /> </td>
И в PHP,
<?php if($_POST['save']) { //Save Code } else if($_POST['publish']) { //Publish Code } ?>