Adicionando Escalabilidade ao Framework de Recomendação Idealize
Slide 04 adicionando usuários e conhecendo o auto load
-
Upload
raniere-de-lima -
Category
Technology
-
view
166 -
download
0
Transcript of Slide 04 adicionando usuários e conhecendo o auto load
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Adicionando Usuários Conhecendo o Autoload
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Adicionando Usuários
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Hoje nós iremos fazer uma tela para cadastro de Cliente no Mercado Online, e hoje nós faremos as seguintes configurações:
• Criaremos um formulário seguro utilizando o CodeIgniter;• Criaremos nossa tabela de Usuários e mudaremos a tabela de produtos;• Criaremos um Controller para os Usuários;• Criaremos um Model para os Usuários;• Criaremos uma View para os Usuários;• Criptografando a senha com MD5;• Conhecendo o Autoload;• Exercício;
Adicionando Usuários Conhecendo o Autoload
Criado por: Raniere de Lima
Nós já temos uma View em produtos chamada Index, que lista nossos produtos do Banco de Dados, vamos aproveitar e nesta mesma view criar um formulário de cadastro de usuário, isso pode ser feito de duas maneiras:
1. Utilizando HTML e deixando nossa aplicação vulnerável;2. Utilizando o CodeIgniter e garantindo a segurança;
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Bem para os que escolheram o HTML, creio que seu HTML ficou semelhante a este:
<form action="<?= base_url("usuarios/cadastrar") ?>" method="post"> <label>Nome:</label> <input type="text" name="nome"></br> <label>E-mail:</label> <input type="email" name="email"></br> <label>Senha:</label> <input type="password" name="senha"></br> <input type="submit"></form>
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
E para os que escolheram a segunda opção, iremos utilizar um helper chamado form na nossa view, só que para utilizar este helper, devemos carrega-lo.
Só que poxa, está ficando cansativo e repetitivo ficar $this-Load->helper(“”), seria legal passar todos estes dados de uma só vez, então dentro de um helper iremos passar um array de Helpers, então passaremos $this->load->helper( array(“url”, ”conversor”,” form”) );
Pois o Helper também aceita arrays. Agora que temos nosso helper de formulário carregado, vamos na pasta Produtos e abriremos o arquivos Index.php
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Na Index, escrever na tela do usuário nosso formulário e depois fecha-lo. Faremos issoutilizando o echo form_open(“Aonde_sera_enviado”) e o echo form_close(), e é claro que por serem funções em PHP faremos isso dentro de uma tag <?php
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Dentro deste helper FORM temos diversas funções:
• Form_open: Abre um formulário, precisa como parâmetro o caminho;• Form_close: Fecha o Formulário;• Form_input: Cria um input, precisa como parâmetro um array de informações;• Form_password: Cria um input para Senha;• Form_label: Cria um Label, precisa com parâmetro o Nome de exibição e id;• Form_hidden: Cria um input do tipo hidden;• Form_button: Cria um botão.
Agora que sabemos disso criaremos nosso formulário completo.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Este deve ser o nosso Formulário:
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Agora que nosso formulário foi criado, criaremos o controller Usuarios e a função cadastrar, pois toda vez que realizamos uma requisição pelo CodeIgniter ele envia para um Controller e logo após envia para a função.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Dentro da Função Cadastrar, ele deve “ler” os parâmetros que foram enviados, e depois salvar no banco de dados os dados na tabela usuários.
“Só que, nós não temos a tabela usuário e agora?”
Vamos analisar nosso formulário então, no nosso formulário nós tínhamos um nome,tínhamos um e-mail e também tínhamos uma senha.
Com esses dados, nós identificamos que os campos que terá na tabela, na tabela teráo campo Nome, Email e Senha aonde todos podem ser ou varchar(255) ou text, fica a critério do desenvolvedor ou DBA.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Acessaremos novamente o PhpMyAdmin, e criaremos nossa tabela.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Agora nós temos o nosso banco de dados, então vamos continuar com a nossa função,para ler os dados que foram passados no input, nós utilizamos:
$this->input->method(“nomeDoCampo”);
Method: • Caso tenha sido get, substitua o method por get• Caso tenha sido post, substitua o method por post
Ex: $this->input->post(“email”);
Por padrão o CodeIgniter passa os dados por post.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Para facilitar a leitura do código, nós guardaremos todos os valores passados, em uma array chamada Usuário. Depois carregaremos o Usuarios_model e utilizaremos uma função que criaremos chamada cadastrar, que receberá a nossa Array Usuario e salvará nosso usuário no Banco de Dados.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Nosso Controller Usuário atualmente:
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Vamos criar o Usuarios_model.php, o usuarios_model terá apenas uma funçãopor enquanto, que é a função cadastrar.
A nossa classe de usuarios_model deve ficar assim:
<?php
class Usuarios_model extends CI_Model{
public function cadastrar($Usuario){ $this->db->insert("usuarios",$Usuario); }
}
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Já criamos nosso Controller Usuários, e nosso Model, está faltando a view. Logo após adicionar redirecione para uma View na pasta Usuarios, aonde irá conter um HTMLsimples informando que o usuário foi adicionado.
Após fazer isso, vamos no PhpMyAdmin e verificar a nossa tabela Usuários.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Vamos utilizar algumas tags do Bootstrap para deixar a mensagem mais bonita.Podemos utilizar a class Alert-Success ou a Text-Success, importe o bootstrap e Veja qual fica mais agradável para você.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Agora que sabemos como adicionar um usuário vamos melhorar a segurança do nosso sistema nossa senha, vai descriptografada, vai insegura, vamos criptografa e deixar nossosistemas mais seguro, utilizaremos o MD5.
Vamos retornar ao nosso controller Usuário, porém na hora que recebemos a senha,transformaremos ela em MD5. E nosso código fica assim.
$usuario = array(“nome”=>$this->input->post(“nome”),“email”=>$this->input->post(“email”),“senha”=>$this->md5(input->post(“senha”))
);
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Vamos analisar o nosso Controller de Produto e Usuário, poxa os dois utilizam o helperurl e o database, e provavelmente muitas outras funções e controller utilizarão estes helpersseria legal carrega-los automaticamente...
Pensando nisto, alguns frameworks possuem uma configuração chamado de Autoload,no CodeIgniter para acessarmos o Autoload, vamos na pasta Config e depois no arquivoAutoLoad, e nele terá diversos $autoload[‘’], para carregarmos automaticamente no Banco deDados, iremos em $autoload['libraries'], e dentro da array colocaremos a libraries, database.Só que a URL não é uma libraries, e sim um helper, então procuraremos o $autoload[‘helper’],E dentro da array, colocaremos o helper URL.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Agora podemos nos controller o carregamento do database e da url, pois agora eles serão carregados automaticamente. Realize um teste e acesse na função index da pasta produtos.
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Exercício
Criado por: Raniere de Lima
Adicionando Usuários Conhecendo o Autoload
Crie uma View, que deve listar todos os usuários cadastrados no Banco de Dados. Liste as senhas já criptografada.