3. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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;
4. 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;
5. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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>
6. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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
7. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
Na Index, escrever na tela do usuário nosso formulário e depois fecha-lo. Faremos isso
utilizando 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
8. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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.
10. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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.
11. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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.
12. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
Acessaremos novamente o PhpMyAdmin, e criaremos nossa tabela.
13. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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.
14. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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.
16. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
Vamos criar o Usuarios_model.php, o usuarios_model terá apenas uma função
por 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);
}
}
17. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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 HTML
simples informando que o usuário foi adicionado.
Após fazer isso, vamos no PhpMyAdmin e verificar a
nossa tabela Usuários.
18. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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ê.
19. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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 nosso
sistemas 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”))
);
20. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
Vamos analisar o nosso Controller de Produto e Usuário, poxa os dois utilizam o helper
url e o database, e provavelmente muitas outras funções e controller utilizarão estes helpers
seria 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 arquivo
AutoLoad, e nele terá diversos $autoload[‘’], para carregarmos automaticamente no Banco de
Dados, 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.
21. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
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.
23. Adicionando Usuários
Conhecendo o Autoload
Criado por: Raniere de Lima
Crie uma View, que deve listar todos os
usuários cadastrados no Banco de Dados.
Liste as senhas já criptografada.