Passagem de Parâmetros em PHP
(URL e Formulários)
[email protected]
Passagem de parâmetros
o Em PHP, há algumas formas de passar parâmetro de uma
página para outra:
o URL (via método GET)
o Formulário (via método GET ou POST)
o Cookies
o Sessão
Prof Silvano Oliveira (Programação Web - PHP) 2
Método GET
É possível enviar informações através do método GET
Em formulários ou em URL.
Exemplo de método GET em links: (get1.php)
Prof Silvano Oliveira (Programação Web - PHP) 3
Método GET
o É possível enviar vários parâmetros, através da
concatenação
o No método GET, utiliza-se o padrão:
o url?par1=valor1&par2=valor2&par3=valor3
Prof Silvano Oliveira (Programação Web - PHP) 4
Recuperando valores pelo método GET
Para recuperar os valores enviados através do método GET, basta
utilizar o array global $_GET, indexado pelo nome do parâmetro:
recebedados.php
Prof Silvano Oliveira (Programação Web - PHP) 5
Como enviar dados via Formulário
Háum atributo action a ser inserido na tag <form> quando o
formulário é criado que deve indicar para onde os dados serão
submetidos: (get2.php)
<form action= "recebedados.php" >
<label for= "nome"> Nome: <br/>
<input type= "text" name="nome"><br/>
<label for= "sobrenome"> Sobrenome: <br/>
<input type= "text" name="sobrenome"><br/>
<input type= "submit" value="Enviar">
</form>
Prof Silvano Oliveira (Programação Web - PHP) 6
Como enviar dados via Formulário
O nome do parâmetro a ser enviado deve ser definido no atributo
name dos campos do formulário!
Por padrão, o método de envio dos dados pelo formulário é via
método GET.
Porém, é possível utilizar o método GET ou o método POST:
Ambos cumprem a mesma tarefa, mas de maneiras diferentes
POST: empacota as variáveis e as envia de forma oculta para o servidor
GET: também empacota as variáveis, porém anexa os valores antes de enviá-las
para o servidor
Prof Silvano Oliveira (Programação Web - PHP) 7
Enviado dados de formulário via método GET
Paraespecificar o tipo do método de envio, há um atributo
method a ser inserido na tag <form> que indica o método de envio
de dados. Para o caso do método GET, a utilização do atributo não
faz diferença.:
<form action= "recebedados.php" method= "get" >
<label for= "nome"> Nome: <br/>
<input type= "text" name="nome"><br/>
<label for= "sobrenome"> Sobrenome: <br/>
<input type= "text" name="sobrenome"><br/>
<input type= "submit" value="Enviar">
</form>
Prof Silvano Oliveira (Programação Web - PHP) 8
Enviado dados de formulário via método POST
Já
no caso do método POST, é necessário indicar explicitamente o
método do envio
<form action= "recebedados.php" method= "post" >
<label for= "nome"> Nome: <br/>
<input type= "text" name="nome"><br/>
<label for= "sobrenome"> Sobrenome: <br/>
<input type= "text" name="sobrenome"><br/>
<input type= "submit" value="Enviar">
</form>
Prof Silvano Oliveira (Programação Web - PHP) 9
Recebendo dados de formulário via método
POST
Caso os dados tenham sido enviados pelo método POST, deve-se
utilizar o array global $_POST do PHP, indexado pelo nome do
campo:
Quandoos dados são recebidos via método POST, eles vão ocultos.
Não aparecem explicitamente para o usuário.
Prof Silvano Oliveira (Programação Web - PHP) 10
Exercício
Criar um formulário (soma.php), que entre
dois números inteiros e um botão para
chamar um outro que faça a soma e mostre
estes números com o resultado. E tenha um
link que volte ao início.
Prof Silvano Oliveira (Programação Web - PHP) 11
Recuperar dados de Radio Button
...
<input type=“radio” value=“M” name=“sexo”> Masculino <br>
<input type=“radio” value=“F” name=“sexo”> Feminino <br>
...
Botões de rádio com mesmo
o name só permitem que um elemento seja selecionado.
Ao recuperar um campo do tipo
o radio, no PHP, value do objeto selecionado é que
será enviado por parâmetro.
Prof Silvano Oliveira (Programação Web - PHP) 12
Recuperando os dados de Checkbox no PHP
...
<label>Onde estuda:</label> <br>
<input type="checkbox" name="onde_estuda[]" value="IEMA"> IEMA <br>
<input type="checkbox" name="onde_estuda[]" value="UFMA"> UFMA <br>
<input type="checkbox" name="onde_estuda[]" value="UEMA"> UEMA <br>
<input type="checkbox" name="onde_estuda[]" value="Outro"> Outro...
...
No PHP, para que seja possível recuperar todas as opções selecionadas nos checkboxs
de mesmo nome, pode-se incluir colchetes após o valor do atributo name
Prof Silvano Oliveira (Programação Web - PHP) 13
Recuperando os dados de Checkbox no PHP
Os dados serão recebidos no PHP como um array. Dessa forma, é possível
utilizar qualquer mecanismo de manipulação de arrays (recupera2.php)
Prof Silvano Oliveira (Programação Web - PHP) 14
Select
<select name= "cidade" >
<option value= "Nova Cruz" > Nova Cruz </option>
<option value= "Serrinha" > Serrinha </option>
<option value= "Montanhas" > Montanhas </option>
<option value= "Brejinho" > Brejinho</option>
<option value= "Monte Alegre" > Monte Alegre</option>
<option value= "Natal" > Natal</option>
</select>
...
Para que seja possível recuperar o valor selecionado no campo do tipo select, é
importante que seja definido o atributo value de cada opção. O name é
definido para o objeto select:
Prof Silvano Oliveira (Programação Web - PHP) 15