Пожалуйста, посмотрите на следующий код:Попутный значения образуют одну форму в другую - странный случай
<?php
$nomeDominio='';
if (isset($_GET['infoDominio']))
{
$nomeDominio = $_GET['nomeDominio'];
echo "I'm getting ".$nomeDominio;
}
if (isset($_POST['atualizarDominio']))
{
echo "I'm posting ".$nomeDominio;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test Case 99</title>
</head>
<body>
<form name="infoDominio" action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="get">
<input id="nome_dominio" type="text" name="nomeDominio" value="<?php echo $nomeDominio; ?>"/>
<br />
<button name="infoDominio" type="submit">Obtem informacao</button>
</form>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" name="atualizarDominio" method="post">
<input type="hidden" value="<?php echo $nomeDominio ?>" name="nome-dominio"/>
<br />
<button type="submit" name="atualizarDominio">atualizar domínio</button>
</form>
</body>
</html>
Вы можете копировать/вставить - это будет служить в качестве теста.
Как это, если мы получить, а затем мы размещать: Значение от GET НЕ БУДУ переходят в POST.
Дело в том, что: Если мы просто изменим свойство action = второго элемента формы, вместо того, чтобы иметь $ _SERVER ['PHP_SELF'], иметь только действие = ""; вы заметите, что значение WILL пройти.
Мой вопрос: Почему?
ДОПОЛНИТЕЛЬНОЕ ПРИМЕЧАНИЕ: Это не то, что нужно решить. Вместо этого, это то, что нужно понять, почему так происходит. Почему, если мы изменим действие на вторую форму на action = "", значение, хранящееся в $ nomeDominio, переходит из одного условного в другое? Образец кода может использоваться сам по себе, так что вы можете отлично протестировать это очень легко и посмотреть, о чем я говорю.
-1 без каких-либо оснований. Это грубо. :( – MEM
+1, ничего страшного в этом вопросе. Ничего хуже, чем тихий downvoter! –
@Abe Miessler: Спасибо за ваше чувство справедливости. :) @All: Если у кого-то по какой-либо причине возникает этот вопрос, или Похоже, что проблема связана с тем, что у нас есть имя кнопки и имя формы, равные друг другу, что приводит к несоответствиям на стороне браузера. - но это НЕ подтверждено. – MEM