SlideShare a Scribd company logo
1 of 51
Download to read offline
WAMP
Aula 12 – PHP
Sistema de Autenticação de
Usuários
      Windows, Apache, MySQL e PHP
Nessa Aula Veremos

 PHP com Banco de Dados MySQL
  Conhecendo e o PHPMyAdmin
  Conectando com um Banco de Dados.
  Executando consultas MySql em um programa
  PHP.
  Exibindo resultados dos comandos MySQL.
  Criando um Sistema de Autenticação usando
  cookies e sessões.
PHP e Banco de Dados

 O PHP possui funções que trabalham com
 diretamente com o PostgreSQL, MySql e
 outras com SQLite.
 Nosso foco será no MySql.
PHPMyAdmin

 phpMyAdmin é um programa desenvolvido
 em PHP para administração do MySQL pela
 Internet.
 A partir deste sistema é possível:
  criar e remover bases de dados,
  criar, remover e alterar tabelas,
  inserir, remover e editar campos,
  executar códigos SQL e
  manipular campos chaves.
Junto com o Easyphp

 Para acessá-lo basta digita no navegador:
Criando um Banco de Dados

 Vamos Criar um Controle de Acesso ao Banco de
 Dados. – Usaremos o PHPMyAdmin
   1) Inicialmente Criaremos um Banco Chamado escola.
   2) Depois criaremos a tabela chamada usuarios. “sem
   acento” (Cadastro de Usuários).
   3) Criaremos os campos:
     nome, login e senha.
   4) Adionaremos dados
 A idéia depois é criar um sistema de Login ao
 sistema em php.
Criando o Banco de Dados
                 Banco: escola

         usuarios
                               tabela
         nome
         login
         senha




                    Tabela n
Passo a Passo 1

                  Clique em Banco de
                  Dados.
Passo a Passo 2

                  Dê o nome escola e
                  clique em Cria.
Passo a Passo 3

                  Selecione o novo
                  Banco no menu a
                  Esquerda
Passo a Passo 4

                  Digite o nome da tabela
                  usuario e o número de
                  campos: 3.
Passo a Passo 5

                  Defina os campos e
                  Execute e salve
Passo a Passo 6

 Cadastrando usuários: Clique na tabela a esquerda
 no menu. E depois na opção inserir.

                                                     2




          1
Passo a Passo 7




  Cadastre pelo menos mais UM
Voltando ao PHP


   Criando Sistema de Login
Arquivo de conexão:
conecta_mysql.inc
 1) Crie uma subpasta em www chamada
 login. Salve os próximos arquivos nessa
 pasta.
Tela de Login – arquivo:
login.html




                txtUsuario

                txtSenha




              <form method="POST" action="login.php">
Arquivo Login.php

 Esse arquivo:
  1º.verifica se o usuário está cadastrado;
  2º. Se a senha está correta para posteriormente
  criar os cookies.
  3º. Se usuário e senhas estiverem incorretos, é
  informado ao usuário e a não cria-se os cookies.
 Falaremos dos cookies, logo a seguir.
Página de Destino: escola.php

 Crie o arquivo e salve como escola.php
Arquivo: login.php - Tela 1
Arquivo: login.php - Tela 2
Comentando: mysql_connect( )

 mysql_connect() estabelece uma conexão com o
 servidor MySQL.
 Os seguintes padrões são assumidos para os
 argumentos opcionais que estiverem faltando:
     server = 'localhost:3306',
     username = nome do usuário dono do processo do servidor,
     password = senha vazia.
     Exemplo:
Comentando: mysql_select_db

 mysql_select_db(banco)
  Seleciona um banco de dados MySQL
  Exemplo:




                          Nossa Variável que representa o
                          Banco de Dados
Comentando o Arquivo: login.php

  mysql_query()
     Envia uma query para o banco de dados ativo no
     servidor da conexão informada em link_identifier.
     Se o parâmetro link_identifier não é especificado,
     a ultima conexão aberta é usada.


$resultado= mysql_query("SELECT * FROM usuarios WHERE
login='$usuario'");
Comentando o Arquivo: login.php

  mysql_num_rows()
     Retorna o número de linhas em um resultado.
     Este comando é valido apenas para o SELECT.




$linhas = mysql_num_rows($resultado);
Comentando o Arquivo: login.php

   mysql_result()
     Retorna o conteúdo de uma célula do resultado
     MySQL.
     O argumento field(campo) pode ser o índice do
     campo, o nome do campo, o a tabela ponto o
     nome do campo(tabela.campo).




if($senha!=mysql_result($resultado,0,"senha"))
Cookies


   O que são Cookies e como funcionam.
Cookies

 É um arquivo-texto que podemos armazenar
 no computador do usuário, para ser
 recuperado posteriormente pelo servidor.
 Cookie é formando no mínimo pelo par:
  Nome, valor.
  Exemplo:
Função setcookie( )
  setcookie() define um cookie para ser enviado junto
  com o resto dos cabeçalhos HTTP.
Parâmetro   Descrição
Nome        O nome do cookie.
            O valor do cookie. Se não for informado, o servidor tentará
Valor
            excluir o cookie com o nome informado.
            O tempo para o cookie expirar. Este é um timestamp Unix
Validade
            (número de segundos após 1/1/1970 às 0:00 horas).
Caminho     O caminho no servidor para qual o cookie estará disponível.
Domínio     O domínio que o cookie estará disponível.
            Indica que o cookie deve ser transmitido sobre uma conexão
Seguro      segura HTTPS. Quando for definido como 1, o cookie só será
            definido se existir uma conexão segura. O padrão é 0.
Função: Header

 header()
  É usada para enviar diretamete cabeçalhos HTTP
  headers.
Testando

 Se testarmos a aplicação teremos três ocorrências
 possíveis:
   1) Usuário não cadastrado;
   2) Usuário cadastrado e senha inválida;
   3) Acesso com sucesso.
 No caso 3, será redirecionado para o arquivo
 escola.php. Aqui seria interessante:
   1) Criar uma rotina de validação para ser utilizada nas
   partes restritas, impedindo também que qualquer usuário
   não autorizado digite o nome da página direto no
   webbrowser e tenha o acesso direto a páginas restritas.
   2) criar uma página de logout para os usuários que estão
   autenticados.
Validando cookies

 Depois de feito o login, os cookies já foram
 armazenados na máquina dele.
 Agora cada página que for acessar devemos
 validar se os cookies existem e se estão com
 informações corretas.
 Fazemos isso para evitar que o usuário digite
 diretamente o endereço de uma página sem
 passar pelo login.
Como validar cookies

 1º. Passo    Criar uma rotina
 valida_cookies.inc.
  Nessa rotina faremos os testes necessários
  através da função IsSet do PHP.
  É recomendável fazer esse teste para evitar que
  o PHP exiba alguma mensagem de erro ao
  tentarmos acessar um elemento que não existe
  no array global $_COOKIE.
Arquivo valida_cookie.inc (1/2)
Arquivo valida_cookie.inc (2/2)
Função IsSet

 A função IsSet()
   Informa se uma variável foi e criada e recebeu um
   valor.
   IsSet() só trabalha com variáveis, qualquer outra coisa
   passada como parâmetro resultará em um erro de
   sintaxe. No nosso exemplo, informa se o arrays
   globais Cookies (nome_usuario e senha_usuario):
Para uso:

 Agora todas as páginas restritas no seu início
 inclua a proteção de validação de cookie.
 No nosso caso só temos uma, escola.php.
 Abra esse arquivo e inclua a linha abaixo:
Logout: Arquivo logout.php

 O programa logout.php exclui os cookies
 criados no momento do login.
 No exemplo abaixo, ainda encaminhamos o
 usuário para a página de login inicial.
Altere novamente o Arquivo: escola.php

 Vamos acrescentar um link para logout e o
 nome do usuário logado no sistema.
Sessões


    O que são e como funcionam.
Sessão

 Período de tempo durante o qual o usuário
 navega pelas páginas do site.
 Quando o usuário entrar no site podemos
 abrir uma sessão e nela registrar variáveis,
 que ficarão gravadas no servidor e poderão
 ser acessadas em qualquer página do site,
 enquanto a seção estiver aberta.
Identificação da Seção

 Cada sessão tem um número identificador
 único (session id).
 Uma página para ter acesso aos dados da
 sessão precisa conhecer esse identificador.
Exemplos de uso

 Sites comerciais:
   Carrinho de compra, opções de escolha.
 Sites institucionais:
   Dados consultados recentemente.
Nossa meta

 Vamos alterar nosso sistema de login e
 senha apresentado no tópico cookies, para
 que ele passe a utilizar sessões.
 Para isso serão necessárias apenas algumas
 modificações nos arquivos login, validação e
 logout.
Arquivo: login.php

 Ao invés de criar dois cookies no momento do login.
 Deveriam ser registradas duas variáveis de sessão.



                     Troque por
Arquivo: valida_cookies.inc

 Na etapa de validação, deveremos verificar
 as variáveis de sessão e não mais os
 cookies.



                 Troque por
Ainda no Arquivo: valida_cookies.php

 Outra parte que deve ser alterada é a exclusão dos
 cookies. No caso das sessões, isso equivale a
 eliminar as variáveis de sessão (nome_usuario e
 senha_usuario).



                    Troque por
Finalmente

 Devemos alterar a rotina de saída do usuário
 (logout.php), fazendo o uso da função
 session_destroy( ).
 Essa função elimina todos os dados de uma
 sessão.
 Para liberar o espaço alocado para as
 variáveis ainda é necessário iniciar o array
 $_SESSION. Atribua um array vazio.
 Altere o programa logout.php conforme
 próximo slide.
Arquivo: logout.php e escola.php
    Devem ficar assim:

logout.php




 escola.php
Altere o arquivo escola.php para que fique
como abaixo:
Obrigado


   Maromo

More Related Content

What's hot

Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação WebDalton Martins
 
Alterar imagem iniciar windows 7
Alterar imagem iniciar windows 7Alterar imagem iniciar windows 7
Alterar imagem iniciar windows 7Luis Martins
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHPHumberto Moura
 
Diego exercicio 18 und 3
Diego exercicio 18 und 3Diego exercicio 18 und 3
Diego exercicio 18 und 3Boris Junior
 
Painel de Controle Windows XP
Painel de Controle Windows XPPainel de Controle Windows XP
Painel de Controle Windows XPRicardo de Moraes
 
Como Proteger sua Planilha do Excel
Como Proteger sua Planilha do ExcelComo Proteger sua Planilha do Excel
Como Proteger sua Planilha do ExcelFidel Cardoso
 
Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06Yuri Bispo
 
Manual admlocal
Manual admlocalManual admlocal
Manual admlocaladmlocal
 
Tic 3 a win02 exercicio pratico windows
Tic 3 a win02   exercicio pratico windowsTic 3 a win02   exercicio pratico windows
Tic 3 a win02 exercicio pratico windowsax33poa
 
Gerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safeGerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safeAlberto Rocha
 
Windows Xp Básico
Windows Xp BásicoWindows Xp Básico
Windows Xp BásicoAlexJSouza
 
Instalando WordPress em servidor gratuito...passo a passo.
Instalando WordPress em servidor gratuito...passo a passo.Instalando WordPress em servidor gratuito...passo a passo.
Instalando WordPress em servidor gratuito...passo a passo.Tecnados Dourados
 
Slides para a iolanda
Slides para a iolandaSlides para a iolanda
Slides para a iolandaguest0e5c70
 

What's hot (20)

Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação Web
 
Usuarios linux
Usuarios linuxUsuarios linux
Usuarios linux
 
Alterar imagem iniciar windows 7
Alterar imagem iniciar windows 7Alterar imagem iniciar windows 7
Alterar imagem iniciar windows 7
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHP
 
Diego exercicio 18 und 3
Diego exercicio 18 und 3Diego exercicio 18 und 3
Diego exercicio 18 und 3
 
Painel de Controle Windows XP
Painel de Controle Windows XPPainel de Controle Windows XP
Painel de Controle Windows XP
 
Aula 5 - Cookies e sessões em PHP
Aula 5 - Cookies e sessões em PHPAula 5 - Cookies e sessões em PHP
Aula 5 - Cookies e sessões em PHP
 
Como Proteger sua Planilha do Excel
Como Proteger sua Planilha do ExcelComo Proteger sua Planilha do Excel
Como Proteger sua Planilha do Excel
 
Testando API Rest com Insomnia Core
Testando API Rest com Insomnia CoreTestando API Rest com Insomnia Core
Testando API Rest com Insomnia Core
 
Manualv2009
Manualv2009Manualv2009
Manualv2009
 
Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
Manual admlocal
Manual admlocalManual admlocal
Manual admlocal
 
Aula 6
Aula 6Aula 6
Aula 6
 
Tic 3 a win02 exercicio pratico windows
Tic 3 a win02   exercicio pratico windowsTic 3 a win02   exercicio pratico windows
Tic 3 a win02 exercicio pratico windows
 
Gerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safeGerenciando senhas com o kee pass password safe
Gerenciando senhas com o kee pass password safe
 
Windows Xp Básico
Windows Xp BásicoWindows Xp Básico
Windows Xp Básico
 
Instalando WordPress em servidor gratuito...passo a passo.
Instalando WordPress em servidor gratuito...passo a passo.Instalando WordPress em servidor gratuito...passo a passo.
Instalando WordPress em servidor gratuito...passo a passo.
 
windowsxp
windowsxpwindowsxp
windowsxp
 
Slides para a iolanda
Slides para a iolandaSlides para a iolanda
Slides para a iolanda
 

Viewers also liked

Mapa linhas bu
Mapa linhas buMapa linhas bu
Mapa linhas bucris2002
 
Nwn online manual
Nwn online manualNwn online manual
Nwn online manualcris2002
 
[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号
[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号
[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号Mobidays
 

Viewers also liked (6)

Mapa linhas bu
Mapa linhas buMapa linhas bu
Mapa linhas bu
 
Revel's monk guide
Revel's monk guideRevel's monk guide
Revel's monk guide
 
Temere
TemereTemere
Temere
 
Nwn online manual
Nwn online manualNwn online manual
Nwn online manual
 
[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号
[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号
[mobidays] KM-REPORT(韓国モバイルレポート) 2015年1月号
 
Webpages
WebpagesWebpages
Webpages
 

Similar to Php12

PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29Juliana Nascimento
 
Sistema de Login php.pptx
Sistema de Login php.pptxSistema de Login php.pptx
Sistema de Login php.pptxJosivaldoFrana1
 
Slide 04 adicionando usuários e conhecendo o auto load
Slide 04   adicionando usuários e conhecendo o auto loadSlide 04   adicionando usuários e conhecendo o auto load
Slide 04 adicionando usuários e conhecendo o auto loadRaniere de Lima
 
Aula 04 banco de dados em asp.net (site do administrador)
Aula 04   banco de dados em asp.net (site do administrador)Aula 04   banco de dados em asp.net (site do administrador)
Aula 04 banco de dados em asp.net (site do administrador)Gabriel Bugano
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHPLeonardo Soares
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18tomascarol2
 
Slide 05 implementando o login , logout e flash data
Slide 05   implementando o login , logout e flash dataSlide 05   implementando o login , logout e flash data
Slide 05 implementando o login , logout e flash dataRaniere de Lima
 
Aula 03 banco de dados em asp.net (cadastrar)
Aula 03   banco de dados em asp.net (cadastrar)Aula 03   banco de dados em asp.net (cadastrar)
Aula 03 banco de dados em asp.net (cadastrar)Gabriel Bugano
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdoJorge Luís Gregório
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Thyago Maia
 
Prova sistemas-operacionais-23082012
Prova sistemas-operacionais-23082012Prova sistemas-operacionais-23082012
Prova sistemas-operacionais-23082012Carlos Melo
 

Similar to Php12 (20)

PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Sistema de Login php.pptx
Sistema de Login php.pptxSistema de Login php.pptx
Sistema de Login php.pptx
 
Java com banco my sql
Java com banco my sqlJava com banco my sql
Java com banco my sql
 
Crud
CrudCrud
Crud
 
Slide 04 adicionando usuários e conhecendo o auto load
Slide 04   adicionando usuários e conhecendo o auto loadSlide 04   adicionando usuários e conhecendo o auto load
Slide 04 adicionando usuários e conhecendo o auto load
 
Aula 04 banco de dados em asp.net (site do administrador)
Aula 04   banco de dados em asp.net (site do administrador)Aula 04   banco de dados em asp.net (site do administrador)
Aula 04 banco de dados em asp.net (site do administrador)
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
 
Metasys school server resumido
Metasys school server resumidoMetasys school server resumido
Metasys school server resumido
 
Tutorialphpmyadmin
TutorialphpmyadminTutorialphpmyadmin
Tutorialphpmyadmin
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18
 
Slide 05 implementando o login , logout e flash data
Slide 05   implementando o login , logout e flash dataSlide 05   implementando o login , logout e flash data
Slide 05 implementando o login , logout e flash data
 
Aula 03 banco de dados em asp.net (cadastrar)
Aula 03   banco de dados em asp.net (cadastrar)Aula 03   banco de dados em asp.net (cadastrar)
Aula 03 banco de dados em asp.net (cadastrar)
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Aula 5
Aula 5Aula 5
Aula 5
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3
 
Prova sistemas-operacionais-23082012
Prova sistemas-operacionais-23082012Prova sistemas-operacionais-23082012
Prova sistemas-operacionais-23082012
 

Php12

  • 1. WAMP Aula 12 – PHP Sistema de Autenticação de Usuários Windows, Apache, MySQL e PHP
  • 2. Nessa Aula Veremos PHP com Banco de Dados MySQL Conhecendo e o PHPMyAdmin Conectando com um Banco de Dados. Executando consultas MySql em um programa PHP. Exibindo resultados dos comandos MySQL. Criando um Sistema de Autenticação usando cookies e sessões.
  • 3. PHP e Banco de Dados O PHP possui funções que trabalham com diretamente com o PostgreSQL, MySql e outras com SQLite. Nosso foco será no MySql.
  • 4. PHPMyAdmin phpMyAdmin é um programa desenvolvido em PHP para administração do MySQL pela Internet. A partir deste sistema é possível: criar e remover bases de dados, criar, remover e alterar tabelas, inserir, remover e editar campos, executar códigos SQL e manipular campos chaves.
  • 5. Junto com o Easyphp Para acessá-lo basta digita no navegador:
  • 6. Criando um Banco de Dados Vamos Criar um Controle de Acesso ao Banco de Dados. – Usaremos o PHPMyAdmin 1) Inicialmente Criaremos um Banco Chamado escola. 2) Depois criaremos a tabela chamada usuarios. “sem acento” (Cadastro de Usuários). 3) Criaremos os campos: nome, login e senha. 4) Adionaremos dados A idéia depois é criar um sistema de Login ao sistema em php.
  • 7. Criando o Banco de Dados Banco: escola usuarios tabela nome login senha Tabela n
  • 8. Passo a Passo 1 Clique em Banco de Dados.
  • 9. Passo a Passo 2 Dê o nome escola e clique em Cria.
  • 10. Passo a Passo 3 Selecione o novo Banco no menu a Esquerda
  • 11. Passo a Passo 4 Digite o nome da tabela usuario e o número de campos: 3.
  • 12. Passo a Passo 5 Defina os campos e Execute e salve
  • 13. Passo a Passo 6 Cadastrando usuários: Clique na tabela a esquerda no menu. E depois na opção inserir. 2 1
  • 14. Passo a Passo 7 Cadastre pelo menos mais UM
  • 15. Voltando ao PHP Criando Sistema de Login
  • 16. Arquivo de conexão: conecta_mysql.inc 1) Crie uma subpasta em www chamada login. Salve os próximos arquivos nessa pasta.
  • 17. Tela de Login – arquivo: login.html txtUsuario txtSenha <form method="POST" action="login.php">
  • 18. Arquivo Login.php Esse arquivo: 1º.verifica se o usuário está cadastrado; 2º. Se a senha está correta para posteriormente criar os cookies. 3º. Se usuário e senhas estiverem incorretos, é informado ao usuário e a não cria-se os cookies. Falaremos dos cookies, logo a seguir.
  • 19. Página de Destino: escola.php Crie o arquivo e salve como escola.php
  • 22. Comentando: mysql_connect( ) mysql_connect() estabelece uma conexão com o servidor MySQL. Os seguintes padrões são assumidos para os argumentos opcionais que estiverem faltando: server = 'localhost:3306', username = nome do usuário dono do processo do servidor, password = senha vazia. Exemplo:
  • 23. Comentando: mysql_select_db mysql_select_db(banco) Seleciona um banco de dados MySQL Exemplo: Nossa Variável que representa o Banco de Dados
  • 24. Comentando o Arquivo: login.php mysql_query() Envia uma query para o banco de dados ativo no servidor da conexão informada em link_identifier. Se o parâmetro link_identifier não é especificado, a ultima conexão aberta é usada. $resultado= mysql_query("SELECT * FROM usuarios WHERE login='$usuario'");
  • 25. Comentando o Arquivo: login.php mysql_num_rows() Retorna o número de linhas em um resultado. Este comando é valido apenas para o SELECT. $linhas = mysql_num_rows($resultado);
  • 26. Comentando o Arquivo: login.php mysql_result() Retorna o conteúdo de uma célula do resultado MySQL. O argumento field(campo) pode ser o índice do campo, o nome do campo, o a tabela ponto o nome do campo(tabela.campo). if($senha!=mysql_result($resultado,0,"senha"))
  • 27. Cookies O que são Cookies e como funcionam.
  • 28. Cookies É um arquivo-texto que podemos armazenar no computador do usuário, para ser recuperado posteriormente pelo servidor. Cookie é formando no mínimo pelo par: Nome, valor. Exemplo:
  • 29. Função setcookie( ) setcookie() define um cookie para ser enviado junto com o resto dos cabeçalhos HTTP. Parâmetro Descrição Nome O nome do cookie. O valor do cookie. Se não for informado, o servidor tentará Valor excluir o cookie com o nome informado. O tempo para o cookie expirar. Este é um timestamp Unix Validade (número de segundos após 1/1/1970 às 0:00 horas). Caminho O caminho no servidor para qual o cookie estará disponível. Domínio O domínio que o cookie estará disponível. Indica que o cookie deve ser transmitido sobre uma conexão Seguro segura HTTPS. Quando for definido como 1, o cookie só será definido se existir uma conexão segura. O padrão é 0.
  • 30. Função: Header header() É usada para enviar diretamete cabeçalhos HTTP headers.
  • 31. Testando Se testarmos a aplicação teremos três ocorrências possíveis: 1) Usuário não cadastrado; 2) Usuário cadastrado e senha inválida; 3) Acesso com sucesso. No caso 3, será redirecionado para o arquivo escola.php. Aqui seria interessante: 1) Criar uma rotina de validação para ser utilizada nas partes restritas, impedindo também que qualquer usuário não autorizado digite o nome da página direto no webbrowser e tenha o acesso direto a páginas restritas. 2) criar uma página de logout para os usuários que estão autenticados.
  • 32. Validando cookies Depois de feito o login, os cookies já foram armazenados na máquina dele. Agora cada página que for acessar devemos validar se os cookies existem e se estão com informações corretas. Fazemos isso para evitar que o usuário digite diretamente o endereço de uma página sem passar pelo login.
  • 33. Como validar cookies 1º. Passo Criar uma rotina valida_cookies.inc. Nessa rotina faremos os testes necessários através da função IsSet do PHP. É recomendável fazer esse teste para evitar que o PHP exiba alguma mensagem de erro ao tentarmos acessar um elemento que não existe no array global $_COOKIE.
  • 36. Função IsSet A função IsSet() Informa se uma variável foi e criada e recebeu um valor. IsSet() só trabalha com variáveis, qualquer outra coisa passada como parâmetro resultará em um erro de sintaxe. No nosso exemplo, informa se o arrays globais Cookies (nome_usuario e senha_usuario):
  • 37. Para uso: Agora todas as páginas restritas no seu início inclua a proteção de validação de cookie. No nosso caso só temos uma, escola.php. Abra esse arquivo e inclua a linha abaixo:
  • 38. Logout: Arquivo logout.php O programa logout.php exclui os cookies criados no momento do login. No exemplo abaixo, ainda encaminhamos o usuário para a página de login inicial.
  • 39. Altere novamente o Arquivo: escola.php Vamos acrescentar um link para logout e o nome do usuário logado no sistema.
  • 40. Sessões O que são e como funcionam.
  • 41. Sessão Período de tempo durante o qual o usuário navega pelas páginas do site. Quando o usuário entrar no site podemos abrir uma sessão e nela registrar variáveis, que ficarão gravadas no servidor e poderão ser acessadas em qualquer página do site, enquanto a seção estiver aberta.
  • 42. Identificação da Seção Cada sessão tem um número identificador único (session id). Uma página para ter acesso aos dados da sessão precisa conhecer esse identificador.
  • 43. Exemplos de uso Sites comerciais: Carrinho de compra, opções de escolha. Sites institucionais: Dados consultados recentemente.
  • 44. Nossa meta Vamos alterar nosso sistema de login e senha apresentado no tópico cookies, para que ele passe a utilizar sessões. Para isso serão necessárias apenas algumas modificações nos arquivos login, validação e logout.
  • 45. Arquivo: login.php Ao invés de criar dois cookies no momento do login. Deveriam ser registradas duas variáveis de sessão. Troque por
  • 46. Arquivo: valida_cookies.inc Na etapa de validação, deveremos verificar as variáveis de sessão e não mais os cookies. Troque por
  • 47. Ainda no Arquivo: valida_cookies.php Outra parte que deve ser alterada é a exclusão dos cookies. No caso das sessões, isso equivale a eliminar as variáveis de sessão (nome_usuario e senha_usuario). Troque por
  • 48. Finalmente Devemos alterar a rotina de saída do usuário (logout.php), fazendo o uso da função session_destroy( ). Essa função elimina todos os dados de uma sessão. Para liberar o espaço alocado para as variáveis ainda é necessário iniciar o array $_SESSION. Atribua um array vazio. Altere o programa logout.php conforme próximo slide.
  • 49. Arquivo: logout.php e escola.php Devem ficar assim: logout.php escola.php
  • 50. Altere o arquivo escola.php para que fique como abaixo:
  • 51. Obrigado Maromo