Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método...

40
Thiago Miranda dos Santos Souza Formulários Em PHP Programação WEB II Métodos GET e POST [email protected]

Transcript of Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método...

Page 1: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Thiago Miranda dos Santos Souza

Formulários Em PHP

Programação WEB II

Métodos GET e POST [email protected]

Page 2: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Thiago Miranda dos Santos Souza

Conteúdos Programação WEB II

Os materiais de aula, apostilas e outras informações estarão disponíveis em:

www.thiagomiranda.net

Page 3: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Objetivos

Entender o funcionamento da interação entre formulários e páginas PHP Praticar o conteúdo já trabalhado

Thiago Miranda dos Santos Souza

Programação WEB II

Page 4: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Tópicos da Aula 1. Formulários em HTML 2. Recebendo dados em PHP 3. Método GET 4. Método POST 5. Método Request

Thiago Miranda dos Santos Souza

Programação WEB II

Page 5: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

O que iremos aprender • Como criar um formulários para ser preenchido pelos usuários • Como as informações de um formulário podem ser enviadas para um programa PHP • Como o programa PHP recebe e trata tais informações

Thiago Miranda dos Santos Souza

Programação WEB II

Page 6: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários <form action="recebe_dados.php"> <p> Digite seu e-mail: <input type="text" name="email" size="20"> </p> <p> <input type="submit" value="Enviar!" name="enviar"> </p> </form>

Thiago Miranda dos Santos Souza

Programação WEB II

Page 7: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

<input type =" text " name =“primeiro_nome" />

Thiago Miranda dos Santos Souza

Programação WEB II

Campos texto

Page 8: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos texto com limite de caracteres

Page 9: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

• Funciona como o Text porem não e visível para o usuário • Armazena valores que não são editáveis pelo usuário • Utilizado para armazenar valores em formulários multi-página

Thiago Miranda dos Santos Souza

Programação WEB II

Campos Hidden

Page 10: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

<form > <textarea rows ="10" cols ="30"> </ textarea > </ form >

Thiago Miranda dos Santos Souza

Programação WEB II

Campos textarea

Page 11: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos password - Senha

Page 12: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos radio

Page 13: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos radio com valor default

Page 14: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos checkbox

Page 15: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos checkbox – valor default

<form > <input type =" checkbox " name =“veiculo" value =" bicicleta" checked /> Eu tenho uma Bicicleta <br /> </ form >

Page 16: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos select

Page 17: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campos select com valor default

Page 18: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Gerando um campo Select com PHP

Page 19: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Campo file

Page 20: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Botão – Tipo Reset

Page 21: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Botão – Tipo Submit

Page 22: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Atributos de formulário

•Action: define a ação que tratará os dados do formulário • URL: action=“recebe_dados.php"

• method: forma de envio • GET (default) dados visíveis na URL (teste.php?nome=joao) • POST: dados invisveis

Page 23: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Métodos de Envio

Page 24: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Relembrando Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Crie um formulário que utiliza o método POST e que seja enviado para um página de nome teste.php e que contenha pelo menos 1 campo do tipo texto, 1 do tipo checkbox, 1 do tipo radio, 1 botão de envio (submit) e 1 para limpar os dados.

Page 25: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo os dados do formulário

Thiago Miranda dos Santos Souza

Programação WEB II

• O $_GET e $ _POST do PHP são variáveis utilizadas para recuperar informações de formulários, como a entrada do usuário. Formulário de Manipulação PHP • A coisa mais importante a notar quando se lida com formulários HTML e PHP é que qualquer elemento de formulário em uma página HTML serão automaticamente disponíveis para seus scripts PHP.

Page 26: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo os dados do formulário

Thiago Miranda dos Santos Souza

Programação WEB II

Page 27: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Método GET

Thiago Miranda dos Santos Souza

Programação WEB II

Se nenhum método for especificado em form, esse será o padrão de envio; Os dados são enviados junto com a URL da página que irá processar as informações. Exemplo: <form action="recebe_dados.php"> <p> Digite seu nome: <input type="text" name="nome" size="30"> </p> <p> Digite sua idade: <input type="text" name="idade" size="3"> </p> <p> <input type="submit" value="Enviar!" name="enviar"> </p> </form> Se preenchermos este formulário com o nome Joaquim e a idade 20, o endereço enviado pelo navegador será: http://www.seusite.com.br/recebe_dados.php?nome=Joaquim&idade=20

Page 28: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Método GET

Thiago Miranda dos Santos Souza

Programação WEB II

Vantagem: pode-se utilizar um link e, neste link, enviar-se algum parâmetro que será tratado por outro script php; Desvantagens: •Limite máximo de caracteres = 2048 caracteres; •Segurança = qualquer dado enviado é mostrado na URL pra todo mundo ver, inclusive senhas.

Page 29: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Método POST

Thiago Miranda dos Santos Souza

Programação WEB II

Uso do método post no formulário HTML: <form action="recebe_dados.php" method="post"> <p> Digite seu nome: <input type="text" name="nome" size="30"> </p> <p> Digite sua idade: <input type="text" name="idade" size="3"> </p> <p> <input type="submit" value="Enviar!" name="enviar"> </p> </form> Os dados são enviados no corpo da mensagem; São invisíveis ao usuário; Não há limite da quantidade de informações mandadas; Permite o envio de outros tipos de informações que GET não suporta: arquivos (de qualquer tipo); Segurança no envio de informações.

Page 30: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo os dados

Thiago Miranda dos Santos Souza

Programação WEB II

Através de dois arrays globais que o PHP tem: $_GET e $_POST; O PHP mantém estes dois arrays, e o campo nome de cada item do formulário é o índice destes arrays; Se o usuário preencher o nome e o e-mail no formulário, seus dados podem ser capturados no programa PHP da seguinte forma: $_POST["nome"]; $_POST["email"]; Ou $_GET["nome"]; $_GET["email"];

Page 31: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo dados de Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Crie a página recebe_dados.php que irá receber o nome e a idade de uma pessoa utilizando o método GET e imprima essas informações na tela. Passe esses dados pela url!

Page 32: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo os dados

Thiago Miranda dos Santos Souza

Programação WEB II

Page 33: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo dados de Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Crie a página recebe_dados2.php que irá receber o nome e a idade de uma pessoa utilizando o método post e imprima essas informações na tela. Passe esses dados por um formulário!

Page 34: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Método Request

Thiago Miranda dos Santos Souza

Programação WEB II

A função embutida $_REQUEST contém o conteúdo de ambos os $_GET, $_POST e $_COOKIE. A função $_REQUEST pode ser usada para coletar dados de formulários enviados com ambos os métodos GET e POST. Exemplo <?php echo $_REQUEST[“nome"]; ?>!<br/> tem <?php echo $_REQUEST[“idade"]; ?> anos de idade.

Page 35: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Elementos e como tratar seus dados

Thiago Miranda dos Santos Souza

Programação WEB II

Page 36: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo dados de Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Crie a página recebe_dados3.php que irá receber as informações que você criou no exemplo de formulário, inclua também um campo checkbox. Na página recebe_dados3.php imprima na tela tudo que foi fornecido pelo usuário no Formulário.

Page 37: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo dados de Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Crie a página recebe_dados4.php que irá receber dados de um formulário que você irá criar com um campo texto para o nome e um campo checkbox para o usuário poder escolher suas frutas favoritas. Imprima na tela o nome dessas frutas e o nome da pessoa

Page 38: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo dados de Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Elabore um script em PHP que receba de um formulário o nome e o salário de quatro funcionários e armazene estas informações em um vetor. O nome dever ser usado como índice associativo do vetor. O script deverá escrever na página web o nome de todos aqueles funcionários cujo salário for menor que R$ 500,00.

Page 39: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Recebendo dados de Formulários

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos praticar! Uma livraria virtual mantém, para cada livro cadastrado em seu site, o título, o autor, o preço e a disponibilidade em estoque. Elabore um formulário em XHTML que estruture as informações acima descritas para cinco livros. Em seguida, crie dois scripts em PHP que guarde estas informações numa matriz e calcule e escreva: 1 - O título e o preço do livro mais caro da livraria virtual; 2 - A disponibilidade em estoque para todos os livros com preço inferior a R$ 200,00.

Page 40: Formulários Em PHP · Formulários em HTML 2. Recebendo dados em PHP . 3. Método GET . 4. Método POST . 5. Método Request . Thiago Miranda dos Santos Souza . Programação WEB

Thiago Miranda dos Santos Souza

Programação WEB II Dúvidas