PI S2 DSW II DouglasARS

De IFSC
Revisão de 12h51min de 16 de fevereiro de 2016 por imported>Douglas (→‎Como criar um sistema de login com PHP e MySQL)
Ir para navegação Ir para pesquisar

Apresentação

Olá Estudante,

Nessa segunda semana vamos registras os participantes por equipes e o modelo conceitual escolhido. Vamos apresentar o próximo passo que é a criação das telas e conexão com banco de dados. Mas é muito importante lembrar que a modelagem de dados tem que estar feita e código SQL gerado para criação no banco de dados MySQL. As telas serão feitas ou preparadas de acordo com o sistema escolhido. É importante rever a instalação dos aplicativos utilizado no desenvolvimento LAMP ou WAMP (Linux/Windows, Apache, MySQL e PHP).

Nota: Neste momento, não se preocupem com as cores e formatos de formulários, fontes e da própria tela. Utilizem os software que vocês praticaram nas unidades curriculares anteriores, como o próprio Netbeans. Aproveitem o que já tem pronto pois, senão, vão ter que criar tudo do zero.

Boa programação!

Fiquem atentos as postagens no Fórum e participem dos nossos encontros virtuais.

Estamos a disposição!

Prof. Douglas A.

Objetivos

  • Registrar equipes e sistemas;
  • Apresentar a criação básica de telas, e;
  • Acesso ao banco de dados MySQL.

Telas e banco de dados

Os sistemas que foram propostos seguem abaixo:

  1. Reservas em Hotéis
  2. Aluguel de Carros
  3. Donativos para uma Igreja

É necessário, a partir do modelo conceitual, criar esse banco de dados fisicamente. Para isso você precisa ter redesenhado o modelo conceitual no MySQLWorkbench ou no DBDesigner, respeitando os aspectos da tradução para o português dos nomes de campos e relacionamentos entre as tabelas. O uso dos softwares e criação do banco de dados, você encontra na unidade curricular anterior. Como foi falado na apresentação da unidade, vamos utilizar o conhecimento adquirido nas unidade anteriores para a concepção de um sistema web completo.

O vídeo abaixo mostra como criar as telas incias e um acesso ao banco de dados. Isso você pode encontrar no material da unidade. Atentem que se trata apenas de um exemplo, porém, dá uma ideia de partida para o desenvolvimento do sistema de vocês.

https://www.youtube.com/watch?v=_TjHKWdOF94

É importante verificar nesse vídeo, que se trata de um exemplo utilizando o Windows, porém facilmente adaptável para o Linux/Ubuntu.

Como criar um sistema de login com PHP e MySQL

(por Tiagoo Belem (2009))


Antes de mais nada, é preciso que você já tenha um conhecimento prévio de HTML e, se possível, PHP e MySQL para tornar as coisas mais fáceis. Nosso sistema será bem simples: um arquivo chamado seguranca.php, que deverá ser incluído no topo do seu site (em todas as páginas) e que faz a conexão com o banco de dados e que possui algumas funções usadas para redirecionar o visitante para o formulário de login (login.php) caso ele não esteja logado. Vamos ao trabalho: O que iremos definir primeiro é a tabela usada para armazenar os usuários do sistema:

CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nome` varchar(100) NOT NULL,
  `usuario` varchar(50) NOT NULL,
  `senha` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `usuario` (`usuario`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Execute esse bloco SQL no seu banco de dados para criar a tabela usada pelo sistema. Depois disso, vamos ao formulário de login que você colocará dentro de um arquivo chamado login.php:


<form method="post" action="valida.php">
  <label>Usuário</label>
  <input type="text" name="usuario" maxlength="50" />
  
  <label>Senha</label>
  <input type="password" name="senha" maxlength="50" />
  
  <input type="submit" value="Entrar" />
</form>


Esse formulário, com apenas dois campos, manda pra página valida.php, que é um pequeno PHP que receberá os dados enviados pelo formulário, fará a validação deles e mandará o visitante ou pra página interna (index.php) ou de volta pra página de login (login.php).

Esse é o codigo fonte do arquivo valida.php:

<?php
// Inclui o arquivo com o sistema de segurança
require_once("seguranca.php");
// Verifica se um formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  // Salva duas variáveis com o que foi digitado no formulário
  // Detalhe: faz uma verificação com isset() pra saber se o campo foi preenchido
  $usuario = (isset($_POST['usuario'])) ? $_POST['usuario'] : '';
  $senha = (isset($_POST['senha'])) ? $_POST['senha'] : '';
  // Utiliza uma função criada no seguranca.php pra validar os dados digitados
  if (validaUsuario($usuario, $senha) == true) {
    // O usuário e a senha digitados foram validados, manda pra página interna
    header("Location: index.php");
  } else {
    // O usuário e/ou a senha são inválidos, manda de volta pro form de login
    // Para alterar o endereço da página de login, verifique o arquivo seguranca.php
    expulsaVisitante();
  }
}

A estrutura do seu site, até esse ponto, deve estar dessa forma:

../pasta_do_seu_site/index.php » Página intera a ser protegida
../pasta_do_seu_site/login.php » Página com o formulário de login
../pasta_do_seu_site/valida.php » Página que faz a validação dos dados do formulário


Agora vamos criar o arquivo seguranca.php na mesma pasta dos demais arquivos:

Organização da Semana 3

Nesta primeira semana formamos as equipes e distribuímos os sistemas através de 3 modelos conceituais. Agora, é trabalhar na criação do banco de dados, com especial cuidado na tradução dos nomes de campos e criação do banco de dados a partir do qual o sistema será desenvolvido. No próximo encontro, registraremos as equipes e seus sistemas e falaremos sobre a criação de telas e o acesso ao banco de dados. É importante entender bem os requisitos do sistema e associar com o modelo proposto.

Até lá!

Bons estudos!

Prof. Douglas A.

Referências

[1] https://jonashenriquelima.wordpress.com/2012/11/04/pagina-em-php-criacao-da-tela-de-login/

[2] http://www.devmedia.com.br/phreeze-php-criando-uma-aplicacao-crud-em-10-minutos/30978

[3] http://blog.thiagobelem.net/criando-um-sistema-de-login-com-php-e-mysql



<< <> >>