Início

Resposta

É possível passar um parâmetro para outra página, sem que ele apareça na barra de endereços do navegador do usuário?

Sim. Existem dois métodos para passar parâmetros para uma página Web: GET (que é o padrão) e POST. Quando os dados estiverem sendo enviados por meio de um formulário HTML, você pode usar a opção method da tag <form> para escolher o método que será utilizado. Exemplo:


<form method="POST" action="teste.php">
...
</form>

ou

<form method="GET" action="teste.php">
...
</form>


Diferença entre os dois métodos:

Usando o método GET, os parâmetros serão passados em uma cadeia de variáveis após o URL destino. Essas informações estarão visíveis na barra de endereços do usuário. Exemplo:

http://www.niederauer.com.br/teste.php?nome=juliano&sobrenome=niederauer

Usando o método POST, os dados serão passados junto ao corpo da mensagem, e portanto o usuário não irá visualizá-los na barra de endereço. Ele verá apenas o endereço da página ativada. Exemplo:

http://www.niederauer.com.br/teste.php

O método POST só pode ser usado em formulários, enquanto o método GET pode ser usado tanto em formulários como em links comuns.

O livro Desenvolvendo Websites com PHP possui um tópico dedicado exclusivamente à relação entre os formulários HTML e os programas PHP, explicando com detalhes os métodos GET e POST para envio de dados.