23
Adicionando Usuários Conhecendo o Autoload Adicionando Usuários Conhecendo o Autoload Criado por: Raniere de Lima

Slide 04 adicionando usuários e conhecendo o auto load

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Slide 04   adicionando usuários e conhecendo o auto load

Criado por: Raniere de Lima

Adicionando Usuários Conhecendo o Autoload

Adicionando Usuários

Page 3: Slide 04   adicionando usuários e conhecendo o auto load

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;

Page 4: Slide 04   adicionando usuários e conhecendo o auto load

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;

Page 5: Slide 04   adicionando usuários e conhecendo o auto load

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>

Page 6: Slide 04   adicionando usuários e conhecendo o auto load

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

Page 7: Slide 04   adicionando usuários e conhecendo o auto load

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

Page 8: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 9: Slide 04   adicionando usuários e conhecendo o auto load

Criado por: Raniere de Lima

Adicionando Usuários Conhecendo o Autoload

Este deve ser o nosso Formulário:

Page 10: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 11: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 12: Slide 04   adicionando usuários e conhecendo o auto load

Criado por: Raniere de Lima

Adicionando Usuários Conhecendo o Autoload

Acessaremos novamente o PhpMyAdmin, e criaremos nossa tabela.

Page 13: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 14: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 15: Slide 04   adicionando usuários e conhecendo o auto load

Criado por: Raniere de Lima

Adicionando Usuários Conhecendo o Autoload

Nosso Controller Usuário atualmente:

Page 16: Slide 04   adicionando usuários e conhecendo o auto load

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); }

}

Page 17: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 18: Slide 04   adicionando usuários e conhecendo o auto load

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ê.

Page 19: Slide 04   adicionando usuários e conhecendo o auto load

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”))

);

Page 20: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 21: Slide 04   adicionando usuários e conhecendo o auto load

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.

Page 22: Slide 04   adicionando usuários e conhecendo o auto load

Criado por: Raniere de Lima

Adicionando Usuários Conhecendo o Autoload

Exercício

Page 23: Slide 04   adicionando usuários e conhecendo o auto load

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.