OTTIENI variabili non trasmesse se mescolate con URL
Domanda
Perché quando passo i parametri attraverso l'URL codificato e il metodo GET in formato HTML, i parametri codificati nell'URL vengono eliminati?
es. Setup:
<form action="process.php?hello=world" method="GET">
<input type="text" name="foo" value="bar">
<input type="submit">
</form>
Risultato: la variabile ciao
non verrà riconosciuta in process.php
.
È questa cattiva pratica?
È così che PHP lo elabora o è correlato a come il browser invia la richiesta? C'è lo stesso problema in altre lingue?
Soluzione
Sì, è una cattiva pratica perché non funziona.
Se desideri passare " input modulo nascosto " quindi è necessario utilizzare un elemento modulo nascosto:
<input type="hidden" name="hello" value="world" />
Come afferma rezzif nel suo commento, puoi mescolare GET & amp; POST in questo modo:
<form action="/something?foo=bar" method="POST">
<input type="text" name="baz" />
</form>
Come regola generale evito però di mescolare i due. Trovo strano avere i parametri GET nella mia azione in forma.