variáveis ??GET não passou quando misturado com URL
Pergunta
Por que é que quando eu passar parâmetros através de URL codificado e método no formulário HTML GET, os parâmetros de URL codificada são descartados?
por exemplo. Configuração:
<form action="process.php?hello=world" method="GET">
<input type="text" name="foo" value="bar">
<input type="submit">
</form>
Resultado:. A variável hello
não será reconhecido em process.php
Essa prática é ruim?
É assim que PHP processa-lo, ou ele está relacionado à forma como o navegador enviar o pedido? Existe o mesmo problema em outros idiomas?
Solução
Sim, isso é uma prática ruim porque ele simplesmente não funciona.
Se você quer passar em "input forma oculta", então você deve usar um elemento de formulário oculto:
<input type="hidden" name="hello" value="world" />
Como afirma rezzif em seu comentário, você pode misturar GET e POST assim:
<form action="/something?foo=bar" method="POST">
<input type="text" name="baz" />
</form>
Como regra geral I evitar misturar os dois embora. Acho que é bizarro ter GET params na minha ação do formulário.