Проверка данных формы PHP Имя кнопки «Отправить» - PullRequest
0 голосов
/ 25 мая 2018

У меня есть две формы на одной странице, каждая с разными полями и разными именами кнопок отправки.

<button type="submit" name="formOne">Submit form</button>
<button type="submit" name="formTwo">Submit form</button>

На моей странице mailer.php я хочу проверить, какая кнопка отправки была нажата, иобработайте код соответствующим образом.

Код, который у меня есть, работает для одной формы следующим образом:

if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
    // my form 1 data
    // do stuff
}

Однако я подумал, что могу добавить if/else, чтобы проверить, какая кнопка отправкищелкнули, что-то вроде;

if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
    if($_POST['formOne']){
        // form 1 data
        // my form 1 data
        // do stuff
    }
    if($_POST['formTwo']){
        // form 2 data
        // my form 2 data
        // do stuff
    }
}

Это не похоже на работу.Я получаю сообщение об ошибке:

Примечание: неопределенный индекс: formOnein ... строка 7

Как этого добиться?

Ответы [ 3 ]

0 голосов
/ 25 мая 2018

Если хотите, вы можете использовать скрытые входы.Вы можете получить доступ к скрытым данным из php, как обычный текстовый ввод.

<form method="GET" action="https://postman-echo.com/get">
    <input type="hidden" name="form" value="one" />
    <button type="submit">Submit form</button>
</form>
0 голосов
/ 25 мая 2018

Вместо использования

<button type="submit" name="formOne">Submit form</button> <button type="submit" name="formTwo">Submit form</button>

используйте

<input type="submit" name="formOne" value="Submit Form"/>
<input type="submit" name="formTwo" value="Submit Form"/>

php код: -

 <? if(isset($_POST['formOne'])){echo "form One";} elseif(isset($_POST['formTwo'])){echo "form Two"; }?>
0 голосов
/ 25 мая 2018

Вы просто забыли проверить, является ли var isset().

if ($_SERVER["REQUEST_METHOD"] == "POST" ) {
    if(isset($_POST['formOne'])){
        // form 1 data
        // my form 1 data
        // do stuff
    }
    if(isset($_POST['formTwo'])){
        // form 2 data
        // my form 2 data
        // do stuff
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...