Natasha000
@Natasha000

Как отправить данные с формы $_POST на разные страницы в зависимости от нажатой кнопки (перенаправление)?

Есть форма:
<form method="post" >
    <label for="select-option">Select an option:</label>
    <select name="select-option" id="select-option">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
    </select>
    <br>
    <button type="submit" name="termin">termin</button>
    <button type="submit" name="info">info</button>
</form>

if (isset($_POST['termin'])) {
    wp_redirect('https://site.com/termin');
    exit;
} elseif (isset($_POST['info'])) {
    wp_redirect('https://website.com/info);
    exit;
}

хочу сделать чтобы при нажатии на кнопку 'termin' данные формы отправились методом $_POST на страницу https://site.com/termin и произошло пере направление туда же;
а при нажатии на кнопку 'info' данные формы отправились методом $_POST на страницу https://site.com/info и произошло пере направление туда же.

На ум приходит только решение с дополнительной скрытой формой в которой менять action с помощью AJAX
Может есть решение по проще, не хочется засорять гет запросами урл.
Помогите пожалуйста
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@alexalexes
Button может отправлять форму с иными атрибутами, если их переопределить в button, например, можно задать другой action.
<form name="MyForm" method="post" >
    <label for="select-option">Select an option:</label>
    <select name="select-option" id="select-option">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
    </select>
    <br>
    <button formaction="/termin" type="submit">termin</button>
    <button formaction="/info" type="submit">termin</button>
</form>

Тогда не нужен никакой роутер на стороне сервера для текущей страницы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
NeuroZ
@NeuroZ
PHP (Laravel, Joomla!)
1. Можно использовать 2 формы.
2. Возможно будет лучше, если данные будут уходить в одно и то же (другое) место. Там обрабатываться, и уже в зависимости от этого обработчика - перенаправлять пользователя туда, куда ему надо. -в вашем случае "termin" или "info"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы