Manipulação de formulários
        com PHP
        Prof. Leonardo Soares




        Campus Garanhuns
O Que são formulários web?


Alguns sistemas web necessitam de dados do usuário para
funcionar
Essas Informações do usuário são usadas em:
  Cadastros
   Atualizações
   Envio de arquivos
   Dentre outros…
Frequentemente estas informações são usadas em consultas o
inserções em banco de dados
Fluxo de envio de informações com
           formulários
Exemplos de formulários
Como formulários são criados
Métodos de envio de informações
       para o servidor web


Quando solicitamos algo a um servidor web realizamos uma
requisição
O protocolo HTTP possibilita dois métodos de requisições: GET
ou POST
O uso de um ou outro depende de qual informação está sendo
enviada
  GET é utilizado para requisições simples
    Solicitações de páginas, imagens, pdf etc
  Post é utilizado para envio de informações do usuário para o
  servidor
Manipulando informações de
               formulário


Uma vez que o usuário preencheu algum formulário e realizou
uma requisição para enviá-lo devemos processar a informação:
  Validações
  Modificações nos valores
  Consultas no banco de dados
Teremos uma página PHP para receber os dados enviados pelo
formulário
Exercício


Criem uma página HTML que deve conter um
formulário com dois campos: login e senha, e um
botão para envio do formulário
Manipulando informações de
          formulários com PHP


O PHP conta com duas variáveis Superglobais para manipulação
dos dados recebidos do formulário:
  $_GET
  $_POST
Estas variáveis são na realidade arrays, onde cada um de seus
elementos referem-se a um campo do formulário
O uso dessas variáveis depende do método de envio
especificado no formulário
Manipulando informações de
   formulários com PHP
Exercício


Com base no formulário anterior, após o usuário fazer login
deverá ser exibida uma mensagem: “Bem vindo: …”
Implementem um formulário em HTML com três campos: valor
01, operador e valor 02. Criem uma página PHP que irá realizar
diferentes operações, de acordo com o operador informado,
em cima dos valores passados.
Cookies e Session com PHP


Há um pequeno problema com o protocolo HTTP, as
informações de requisições existem apenas entre uma requisição
e outra
Precisamos de alternativas para armazenar informações:
  Banco de dados
  Sessões
  Cookies
  Arquivos no disco
Session com PHP


Session é um tipo único de variável, que uma vez criada existe
até que o browser seja fechado
  Ela é única por browser e por usuário
Pode ser acessada em qualquer página PHP, dentro de qualquer
método ou função (em PHP é uma variável Superglobal)
Para situações onde há a necessidade de que a informação seja
mantida, mas não por tempo suficiente que justifique seu
armazenamento em banco de dados ou Cookies
  Informações sobre o usuário que está logado
Utilizando Session em nossa página


Session para o PHP é uma variável do tipo array associativo,
composto por chaves e valores
  Acessível através da variável $_SESSION
Adicionamos um valor à Session e atribuímos um nome (chave)
para que possamos acessar este valor posteriormente
$_SESSION[‘chave’ ] = valor;
$_SESSION[‘login’] = $_POST[‘login’];
Uso da Session com PHP


1. Indicar que vamos utilizar a Session
  <?php session_start(); ?>
2. Adicionar valores à Session
  <?php $_SESSION[‘visitas’] = 1; ?>
3. Recuperar valores da Session
  <?php $quantidadeVisitas = $_SESSION[‘visitas’]; ?>
Exercício

Utilizando a página que processou o login anterior, faça com que
ela valide:
  Login e senha tenham sido preenchidos
  Senha deve ser igual a 1234
Nesta mesma página adicione o login à Session
Redirecione para uma outra página PHP, denominada index.php,
e exiba o login armazenado na Session
  Dica: utilize a função header(“Location: index.php”); para
  redirecionar
Cookies


Informações em Sessions somente existirão enquanto o browser
do usuário permancer aberto
Mas, e quando precisamos que a informação permaneça por mais
tempo?
  Alguma preferência do usuário
  Itens adicionado a um carrinho de compra
Poderíamos utilizar o banco de dados, mas há um custo nisto
Cookies permitem que a informação fique salva, independente do
tempo em que o browser permancer ativo, sem as desvantagens
do BD
Uso de Cookies em PHP

O uso de Cookies em PHP envolve basicamente dois passos:
1. Criar o Cookie
2. Recuperar o valor do Cookie
Na criação do cookie indicamos qual informação será salva (deve
ser uma String) e criamos um identificador para referenciá-la
setCookie(nome, valor, tempo_expira)
Uma vez definido o Cookie podemos referenciá-lo através da super
global $_COOKIE, um array associativo onde suas chaves são os
nomes dados durante a criação do Cookie
Exercício


1. Crie uma página HTML onde o usuário pode escolher a cor que
   deseja para o plano de fundo do site. Uma vez escolhida esta
   cor, ao retornar ao site, ela deve ser mantida.
      Utilizem as cores: black, red, blue, green, yellow
      Lembrem-se do CSS
      Após implementar o exemplo listem os COOKIES existentes
2. Percorram todos os Cookies criados e exibam seus valores

Manipulação de formulários com PHP. Uso de Cookies e Session com PHP.

  • 1.
    Manipulação de formulários com PHP Prof. Leonardo Soares Campus Garanhuns
  • 2.
    O Que sãoformulários web? Alguns sistemas web necessitam de dados do usuário para funcionar Essas Informações do usuário são usadas em: Cadastros Atualizações Envio de arquivos Dentre outros… Frequentemente estas informações são usadas em consultas o inserções em banco de dados
  • 3.
    Fluxo de enviode informações com formulários
  • 4.
  • 5.
  • 6.
    Métodos de enviode informações para o servidor web Quando solicitamos algo a um servidor web realizamos uma requisição O protocolo HTTP possibilita dois métodos de requisições: GET ou POST O uso de um ou outro depende de qual informação está sendo enviada GET é utilizado para requisições simples Solicitações de páginas, imagens, pdf etc Post é utilizado para envio de informações do usuário para o servidor
  • 7.
    Manipulando informações de formulário Uma vez que o usuário preencheu algum formulário e realizou uma requisição para enviá-lo devemos processar a informação: Validações Modificações nos valores Consultas no banco de dados Teremos uma página PHP para receber os dados enviados pelo formulário
  • 8.
    Exercício Criem uma páginaHTML que deve conter um formulário com dois campos: login e senha, e um botão para envio do formulário
  • 9.
    Manipulando informações de formulários com PHP O PHP conta com duas variáveis Superglobais para manipulação dos dados recebidos do formulário: $_GET $_POST Estas variáveis são na realidade arrays, onde cada um de seus elementos referem-se a um campo do formulário O uso dessas variáveis depende do método de envio especificado no formulário
  • 10.
    Manipulando informações de formulários com PHP
  • 11.
    Exercício Com base noformulário anterior, após o usuário fazer login deverá ser exibida uma mensagem: “Bem vindo: …” Implementem um formulário em HTML com três campos: valor 01, operador e valor 02. Criem uma página PHP que irá realizar diferentes operações, de acordo com o operador informado, em cima dos valores passados.
  • 12.
    Cookies e Sessioncom PHP Há um pequeno problema com o protocolo HTTP, as informações de requisições existem apenas entre uma requisição e outra Precisamos de alternativas para armazenar informações: Banco de dados Sessões Cookies Arquivos no disco
  • 13.
    Session com PHP Sessioné um tipo único de variável, que uma vez criada existe até que o browser seja fechado Ela é única por browser e por usuário Pode ser acessada em qualquer página PHP, dentro de qualquer método ou função (em PHP é uma variável Superglobal) Para situações onde há a necessidade de que a informação seja mantida, mas não por tempo suficiente que justifique seu armazenamento em banco de dados ou Cookies Informações sobre o usuário que está logado
  • 14.
    Utilizando Session emnossa página Session para o PHP é uma variável do tipo array associativo, composto por chaves e valores Acessível através da variável $_SESSION Adicionamos um valor à Session e atribuímos um nome (chave) para que possamos acessar este valor posteriormente $_SESSION[‘chave’ ] = valor; $_SESSION[‘login’] = $_POST[‘login’];
  • 15.
    Uso da Sessioncom PHP 1. Indicar que vamos utilizar a Session <?php session_start(); ?> 2. Adicionar valores à Session <?php $_SESSION[‘visitas’] = 1; ?> 3. Recuperar valores da Session <?php $quantidadeVisitas = $_SESSION[‘visitas’]; ?>
  • 16.
    Exercício Utilizando a páginaque processou o login anterior, faça com que ela valide: Login e senha tenham sido preenchidos Senha deve ser igual a 1234 Nesta mesma página adicione o login à Session Redirecione para uma outra página PHP, denominada index.php, e exiba o login armazenado na Session Dica: utilize a função header(“Location: index.php”); para redirecionar
  • 17.
    Cookies Informações em Sessionssomente existirão enquanto o browser do usuário permancer aberto Mas, e quando precisamos que a informação permaneça por mais tempo? Alguma preferência do usuário Itens adicionado a um carrinho de compra Poderíamos utilizar o banco de dados, mas há um custo nisto Cookies permitem que a informação fique salva, independente do tempo em que o browser permancer ativo, sem as desvantagens do BD
  • 18.
    Uso de Cookiesem PHP O uso de Cookies em PHP envolve basicamente dois passos: 1. Criar o Cookie 2. Recuperar o valor do Cookie Na criação do cookie indicamos qual informação será salva (deve ser uma String) e criamos um identificador para referenciá-la setCookie(nome, valor, tempo_expira) Uma vez definido o Cookie podemos referenciá-lo através da super global $_COOKIE, um array associativo onde suas chaves são os nomes dados durante a criação do Cookie
  • 19.
    Exercício 1. Crie umapágina HTML onde o usuário pode escolher a cor que deseja para o plano de fundo do site. Uma vez escolhida esta cor, ao retornar ao site, ela deve ser mantida. Utilizem as cores: black, red, blue, green, yellow Lembrem-se do CSS Após implementar o exemplo listem os COOKIES existentes 2. Percorram todos os Cookies criados e exibam seus valores