Что было бы надежным способом определить, какая форма была представлена в ситуации, как показано ниже? Все отправляются на ту же страницу, которая, в свою очередь, делает вещи на основе какой формы. Многие недостатки указываются на то, как это делается. В довершение всего, даже querystrings переходят к одному и тому же сценарию. Как вы предлагаете это сделать?Обнаружение, какая форма была отправлена на php
Форма имеет два поля input
, форма две имеет три.
<?php
if (isset($_POST['valOne']) && isset($_POST['valTwo']) && isset($_POST['valThree'])) {
echo 'This is form three';
} elseif (isset($_POST['valOne']) && isset($_POST['valTwo'])) {
echo 'This is form two';
} else {
echo 'Neither one or two';
}
$formOne = '<form method="post" action="http://localhost/dev/form.php">';
$formOne .= 'Name: <input type="text" name="valOne" value="Foo" autocomplete="off"><br>';
$formOne .= 'Description: <input type="text" name="valTwo" value="Bar" autocomplete="off"><br>';
$formOne .= '<input type="hidden" name="secretVal" value="secretKey">';
$formOne .= '<input value="Add This" type="submit">';
$formOne .= '</form>';
$formTwo = '<form method="post" action="http://localhost/dev/form.php">';
$formTwo .= 'Name: <input type="text" name="valOne" value="Foo" autocomplete="off"><br>';
$formTwo .= 'Description: <input type="text" name="valTwo" value="Bar" autocomplete="off"><br>';
$formTwo .= 'URL: <input type="text" name="valThree" value="Tar" autocomplete="off"><br>';
$formTwo .= '<input type="hidden" name="secretVal" value="secretKey">';
$formTwo .= '<input value="Add This" type="submit">';
$formTwo .= '</form>';
$formThree = '<a href="http://localhost/dev/form.php?do=getIt">This is GET. Get it?<a/>';
echo $formOne;
echo '<br>';
echo $formTwo;
echo '<br>';
echo $formThree;
?>
Дайте кнопку имя и проверить его на этом посту? HTML '' PHP 'if (isset ($ _ POST ['form1']))' –
Приближение кнопки не работает, если пользователь нажимает введите в форму –