Las variables GET no se pasan cuando se mezclan con la URL
Pregunta
¿Por qué cuando paso parámetros a través de URL codificada y método GET en formato HTML, los parámetros codificados de URL se eliminan?
p. Configuración:
<form action="process.php?hello=world" method="GET">
<input type="text" name="foo" value="bar">
<input type="submit">
</form>
Resultado: la variable hello
no se reconocerá en process.php
.
¿Es esta una mala práctica?
¿Es así como PHP lo procesa o está relacionado con la forma en que el navegador envía la solicitud? ¿Existe el mismo problema en otros idiomas?
Solución
Sí, esa es una mala práctica porque simplemente no funciona.
Si desea pasar " entrada de forma oculta " entonces debe usar un elemento de formulario oculto:
<input type="hidden" name="hello" value="world" />
Como rezzif dice en su comentario, puedes mezclar GET & amp; PUBLICA así:
<form action="/something?foo=bar" method="POST">
<input type="text" name="baz" />
</form>
Como regla general, evito mezclar los dos. Me resulta extraño tener parámetros GET en mi acción de formulario.