Skip to content

Instantly share code, notes, and snippets.

@eliasfaical
Last active June 13, 2017 18:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eliasfaical/8c61478f78439eabc2ffcc6ecc75cfbc to your computer and use it in GitHub Desktop.
Save eliasfaical/8c61478f78439eabc2ffcc6ecc75cfbc to your computer and use it in GitHub Desktop.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Usuarios extends MY_Userlogado {
function __construct(){
parent::__construct();
//carregando biblioteca de validação de formualários
$this->load->library('form_validation');
}
public function index(){
//lista usuarios cadastrados
$this->load->model("usuario_model");
$usuarios = $this->usuario_model->listaUsuarios();
$dados['usuarios'] = $usuarios;
//carrega a view usuarios já passando os dados
$this->load->view('elementos/header');
$this->load->view('elementos/nav-painel');
$this->load->view('vUsuarios', $dados);
$this->load->view('elementos/footer');
}
//Executa o cadastro
public function cadUser($nome, $login, $senha){
$this->load->model("usuario_model");
$dados = array(
"nome" => $nome,
"login" => $login,
"senha" => $senha,
);
$this->usuario_model->cadastraUsuario($dados);
}
//funcção que valida o cadastro usuarios
public function cadastrar(){
//Dizendo onde as informações sobre os erros serão impressos
$this->form_validation->set_error_delimiters('<div class="alert alert-danger">', '</div>');
//fazendo a validação dos campos do formulario
$this->form_validation->set_rules('nome', 'nome', 'required');
$this->form_validation->set_rules('login', 'login', 'required');
$this->form_validation->set_rules('senha', 'senha', 'required');
if($this->form_validation->run() == FALSE){
$this->load->view('elementos/header');
$this->load->view("vCadastroUsuario");
$this->load->view('elementos/footer');
return;
}
//pegando os dados do formulário da view
$nome = $this->input->post('nome');
$login = $this->input->post('login');
$senha = $this->input->post('senha');
//carregando o model usuario_model que tem as funçoes necessárias para cadastrar novo usuario
$this->load->model("usuario_model");
$flag = $this->usuario_model->buscaUsuario($login);
if($flag == 1){
//se o login já existir
$this->load->view('elementos/header');
$this->load->view('vCadastroUsuario', array('cadastroFalhou' => TRUE));
$this->load->view('elementos/footer');
}else{
$this->cadUser($nome, $login, md5($senha));
$this->load->view('elementos/header');
$this->load->view('vCadastroUsuario', array('cadastroFalhou' => FALSE));
$this->load->view('elementos/footer');
}
}
//faz a chamada da pagina de cadastrar novo usuarios
public function novoUsuario(){
$this->load->view("elementos/header");
$this->load->view("vCadastroUsuario");
$this->load->view("elementos/footer");
}
//pegando e exibindo dados do usuario a ser atualizado no formulario
public function atualizaUsuario($codUsuario){
//carrega o modo do usuario
$this->load->model('usuario_model');
//pega o id do usuario que vai ser alterado
$codUsuario = (int)$codUsuario;
//pega os dados que serão alterados
$dadoUsuario = $this->usuario_model->getUsuario($codUsuario)->row();
$this->load->view('elementos/header');
$this->load->view('vAtualizaUsuario', array('dados' => $dadoUsuario));
$this->load->view('elementos/footer');
}
public function execAttUsuario($codUsuario){
$this->load->model("usuario_model");
$codUsuario = (int)$codUsuario;
$nome = $this->input->post('nome');
$login = $this->input->post('login');
$senha = $this->input->post('senha');
//Dizendo onde as informações sobre os erros serão impressos
$this->form_validation->set_error_delimiters('<div class="alert alert-danger">', '</div>');
//fazendo a validação dos campos do formulario
$this->form_validation->set_rules('nome', 'nome', 'required');
$this->form_validation->set_rules('login', 'login', 'required');
$this->form_validation->set_rules('senha', 'senha', 'required');
//caso falhe
if($this->form_validation->run() == FALSE){
$this->atualizaUsuario($codUsuario);
return;
}else{
$senha = md5($senha);
$dados = array(
"nome" => $nome,
"login" => $login,
"senha" => $senha,
);
$this->usuario_model->attUsuario($codUsuario, $dados);
redirect("usuarios/");
}
}
public function deletUsuario($codUsuario){
$this->load->model("usuario_model");
$codUsuario = (int)$codUsuario;
$this->usuario_model->delUsuario($codUsuario);
redirect("usuarios/");
}
}
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Usuario_model extends CI_Model{
//verifica se o usuario já está no banco
//se o usuario ja existir RETORNA 1 se não existir RETORNA 0
function buscaUsuario($login) {
$this->db->select("*");
$this->db->from("usuario");
$this->db->where("login", $login);
$dadosLogin = $this->db->get();
if($dadosLogin->num_rows() > 0) {
return 1;
} else {
return 0;
}
}
//cadastrando novo usuario
function cadastraUsuario($data){
$this->db->insert("usuario", $data);
}
//buscando todos os usuarios cadastrados
function listaUsuarios(){
$usuarios = $this->db->get("usuario");
return $usuarios;
}
//pegando usuarios especifico
function getUsuario($codUsuario){
$codUsuario = (int)$codUsuario;
$this->db->where('codUsuario', $codUsuario);
return $this->db->get('usuario');
}
//atualizando usuarios
function attUsuario($codUsuario, $dados){
$this->db->where(['codUsuario' => $codUsuario]);
$this->db->update('usuario', $dados);
}
//deleta usuario
function delUsuario($codUsuario){
$this->db->where(['codUsuario' => $codUsuario]);
$this->db->delete('usuario');
}
}
<div class="container">
<div class="panel panel-default panel-box">
<div class="panel-heading">
<div class="row">
<div class="col-md-6">
<h3 class="panel-title"><strong>Usuários</strong></h3>
</div>
<div class="col-md-6">
<a class="btn btn-info pull-right" title="Cadastrar novo usuário" href="<?php echo base_url(); ?>usuarios/novoUsuario"><i class="fa fa-plus-circle"></i> Cadastrar usuário</a>
</div>
</div>
</div>
<?php if($usuarios->num_rows() > 0) { ?>
<table class="table table-striped">
<thead>
<tr>
<th><strong>Código do Usuário</strong></th>
<th><strong>Nome do Usuário</strong></th>
<th><strong>Login do Usuário</strong></th>
<th><strong>Ações</strong></th>
</tr>
</thead>
<tbody>
<?php foreach ($usuarios->result() as $usuario) { //listando os usuários cadastrados ?>
<tr>
<td><?php echo $usuario->codUsuario; ?></td>
<td><?php echo $usuario->nome; ?></td>
<td><?php echo $usuario->login; ?></td>
<td>
<a class="btn btn-warning btn-sm" href="<?php echo base_url(); ?>usuarios/atualizaUsuario/<?php echo $usuario->codUsuario; ?>"><i class="fa fa-pencil"></i> Editar</a>
<a class="btn btn-danger btn-sm" href="<?php echo base_url(); ?>usuarios/deletUsuario/<?php echo $usuario->codUsuario; ?>"><i class="fa fa-trash-o"></i> Deletar</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<?php }
else {
echo "Não existem usuários cadastrados";
}
?>
</div>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment