Php12

853 visualizações

Publicada em

CURSO PHP

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
853
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Php12

  1. 1. WAMPAula 12 – PHPSistema de Autenticação deUsuários Windows, Apache, MySQL e PHP
  2. 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. 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. 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. 5. Junto com o Easyphp Para acessá-lo basta digita no navegador:
  6. 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. 7. Criando o Banco de Dados Banco: escola usuarios tabela nome login senha Tabela n
  8. 8. Passo a Passo 1 Clique em Banco de Dados.
  9. 9. Passo a Passo 2 Dê o nome escola e clique em Cria.
  10. 10. Passo a Passo 3 Selecione o novo Banco no menu a Esquerda
  11. 11. Passo a Passo 4 Digite o nome da tabela usuario e o número de campos: 3.
  12. 12. Passo a Passo 5 Defina os campos e Execute e salve
  13. 13. Passo a Passo 6 Cadastrando usuários: Clique na tabela a esquerda no menu. E depois na opção inserir. 2 1
  14. 14. Passo a Passo 7 Cadastre pelo menos mais UM
  15. 15. Voltando ao PHP Criando Sistema de Login
  16. 16. Arquivo de conexão:conecta_mysql.inc 1) Crie uma subpasta em www chamada login. Salve os próximos arquivos nessa pasta.
  17. 17. Tela de Login – arquivo:login.html txtUsuario txtSenha <form method="POST" action="login.php">
  18. 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. 19. Página de Destino: escola.php Crie o arquivo e salve como escola.php
  20. 20. Arquivo: login.php - Tela 1
  21. 21. Arquivo: login.php - Tela 2
  22. 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. 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. 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 WHERElogin=$usuario");
  25. 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. 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. 27. Cookies O que são Cookies e como funcionam.
  28. 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. 29. Função setcookie( ) setcookie() define um cookie para ser enviado junto com o resto dos cabeçalhos HTTP.Parâmetro DescriçãoNome 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 UnixValidade (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ãoSeguro segura HTTPS. Quando for definido como 1, o cookie só será definido se existir uma conexão segura. O padrão é 0.
  30. 30. Função: Header header() É usada para enviar diretamete cabeçalhos HTTP headers.
  31. 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. 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. 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.
  34. 34. Arquivo valida_cookie.inc (1/2)
  35. 35. Arquivo valida_cookie.inc (2/2)
  36. 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. 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. 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. 39. Altere novamente o Arquivo: escola.php Vamos acrescentar um link para logout e o nome do usuário logado no sistema.
  40. 40. Sessões O que são e como funcionam.
  41. 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. 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. 43. Exemplos de uso Sites comerciais: Carrinho de compra, opções de escolha. Sites institucionais: Dados consultados recentemente.
  44. 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. 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. 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. 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. 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. 49. Arquivo: logout.php e escola.php Devem ficar assim:logout.php escola.php
  50. 50. Altere o arquivo escola.php para que fiquecomo abaixo:
  51. 51. Obrigado Maromo

×