Вход / Регистрация
Вход
Формы: 2 кнопки - 2 разных события
Рассмотрим такое явление, как в одной форме 2 кнопки. Целью является обработка события в зависимости от нажатой кнопки.<form method="post" action="">
<input type="text" name="text">
<input type="submit" name="button1">
<input type="submit" name="button2">
</form>
На самом деле не зачем разбивать каждый из обработчиков в отдельные файлы, достаточно поместить условие и проверить какая из кнопок была нажата. Смотрим файл-обработчик:<?php
if(isset($_POST['button1'])) {
echo 'Нажата была кнопка с именем button1';
} elseif(isset($_POST['button2'])) {
echo 'Нажата была кнопка с именем button2';
}
Что мы в итоге получаем: форма отправляет почти все данные в следующий файл, кроме данных о кнопках, вместо этого посылает лишь данные одной кнопки, которая была нажата.Если уж принципиально надо разделить скрипты-обработчики, то достаточно поместить такого вида router (по модели MVC):
<?php
if(isset($_POST['button1'])) {
include './script1.php';
} elseif(isset($_POST['button2'])) {
include './script2.php';
}