Skip to content

Uma aplicação simples para poder atualizar, cadastrar, excluir e listar o usuário.

Notifications You must be signed in to change notification settings

Gabs1405dragon/CRUD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Documentação da aplicação do crud

O objetivo dessa aplicação é poder fazer um cadastro de um usuário do banco de dados e listar todos os usuários que já estão cadastrados no banco de dados, e excluir eles quando quiser e tambem poder fazer uma alteração de um usuário individual.

Vamos lá para começamos é necessario primeiro criar uma tabela de dados a onde vai ser inserido todos os dados.

A tabela vai se chamar de Usuario(s), e os campos que a tabela terá vai ser (Id) para toda vez que um usuário ser criado o id vai ser auto incrementado ,(nome_usuario) o campo responsável pelo o nome do usuário,(email_usuario) Responsável pelo o email do usuário e por último (cpf_usuario) que vai ser obviamente o cpf do usuário.

  create table usuario(
   id int unsigned not null auto_increment,
   nome_usuario varchar(20) not null,
   email_usuario varchar(30) not null,
   cpf_usuario varchar(20) not null,
   primary key (id)
  );

Agora proximo passo é fazer o front-End da aplicação e para isso nós ultilizaremos o Boostrap para a estilização não ser um problema.

Então o layout da tela será essa imagem de baixo.

crud3

Agora vamos cadastrar o usuário na tabela.

Para isso vamos ter que recuperar os dados do formulário para fazer a validação no Back-end, e para isso a requisição que vai ser mais segurar para os dados virem com segurança será feito pelo o método "POST".

  1. é necessario usar uma função do PHP para ver se o usuário clicou no submit do formulário, que é a função isset(), e como parâmetro vai ser passado o valor do submit que vai ser recuperado com a superglobal $_POST.
  2. Recuperar os valores dos input e colocar tudo em uma variável que vai ser 3(três) variaveis com o nome dos campos da tabela do banco de dados (nome,email,cpf),e o valores das variaveis vai ser o name de cada input que está no formulário.
  3. Fazer uma condição com o if() para verificar se os campos estão vázios, para isso vai ser necessario usar a função empty() ,e passa como parâmetro as variaveis que foi atribuida a pouco tempo tem que ser passada individualmente cada variavel.
  4. Verificar se o email é válido com a função filter_var() e passar 2(dois) parâmetros primeiro a $variavel do email e em segundo uma constante FILTER_VALIDATE_EMAIL.
  5. Validar o cpf com a expressao regular que vai ser "/^[0-9]{3}.?[0-9]{3}.?[0-9]{3}-?[0-9]{2}/", e usar a função do preg_match() passando 2(dois) parâmetros, o primeiro a expressão e o segundo a $variavel do cpf.
  6. Inserir tudo na tabela usando o INSERT e os valores vai ser o id como null e as 3(três) $variaveis.
      if(isset($_POST['cadastrar'])){
                $nome = $_POST['nome'];
                $email = $_POST['email'];
                $cpf = $_POST['cpf'];

        if(empty($nome) || empty($email) || empty($cpf)){
            echo '<div style="padding:10px;color:white;" class=" bg-danger bg-gradient ">Preenchar todos os campos!!</div>';
        }else{
            if(filter_var($email,FILTER_VALIDATE_EMAIL)){
                if(\Models\coisasModel::validarCpf($cpf)){
                    $sql = \MySql::connect()->prepare("INSERT INTO usuario VALUES (null,?,?,?)");
                    $sql->execute(array($nome,$email,$cpf));
                    echo '<script>alert("cadastrado com sucesso!!!");location.href="home"</script>';
                }else{
                    echo '<div style="padding:10px;color:white;" class=" bg-danger bg-gradient">Cpf invalido!!</div>'; 
                }
            }else{
                echo '<div style="padding:10px;color:white;" class=" bg-danger bg-gradient">Email invalido!!</div>';
            }
        }
    }

Agora fazer uma consulta na tabela usuario para pegar todos os dados da tabela.

Vai ser utilizado o SELECT para puxar todos os dados da tabela e em seguida usar a função foreach() para pode fazer um loop de todos os dados já inseridos.

        <tbody>
            <?php
            $pegarTudo = \MySql::connect()->prepare("SELECT * FROM usuario");
            $pegarTudo->execute();
            $pegarTudo = $pegarTudo->fetchAll();
            foreach($pegarTudo as $pegar){ ?>
            <tr>
            <th scope="row"><?= $pegar['nome_usuario']?></th>
            <td><?= $pegar['email_usuario']?></td>
            <td><?= $pegar['cpf_usuario']?></td>
            <td><a class="btn btn-outline-primary" href="edit?usuario=<?= $pegar['id'] ?>" >Update</a></td>
            <td><a class="btn btn-outline-danger" href="?apagar=<?= $pegar['id'] ?>" >Exit</a></td>
            </tr>
            <?php } ?>
        </tbody>

Agora fazer a fucionalidade de deletar o dado.

Para isso na tabela do front já vai ter uma opção para excluir o dado. esse botão vai ser uma tag a e no href vai ser passada uma query url que o nome vai ser apagar(excluir) e o valor vai ser o id do usuário escolhido.

E para isso mais uma vez vai ser usado a função isset() para verificar se existe o GET apagar(excluir).Agora deletar o usuario escolhido com o DELETE onde o id do usuario escolhido vai ser o GET passado na url.

  if(isset($_GET['apagar'])){
    $apagar = $_GET['apagar'];
    $excluir = \MySql::connect()->prepare("DELETE FROM usuario WHERE id = $apagar");
    $excluir->execute();
    echo '<script>alert("O usuário com o id '.$apagar.' foi deletado com sucesso!!");location.href="home"</script>';
  }

Agora Fazer a funcionalidade para atualizar o usuário

Para isso vai ser necessario criar uma nova tela com o nome edit e um layout desente no front-end.

edit

Essa tela só vai pode ser acessada só se existir o usuário na tabela então terá que ser feita uma verificação para poder acessar essa tela.

Na tabela do front-end vai ter um botão(tag a) azul escrito update onde o caminho vai ser o arquivo edit e uma query url chamada usuario com o valor do id do usuario.

Se não existir essa query url a tela edit não vai ser rederizada.

E para verificar se existir o valor do id vai ser feita uma consulta na tabela onde o valor do id vai ser o valor da query url. se não existir a tabela com esse valor a tela edit não vai ser rederizada.

 if(isset($_GET['usuario'])){
        $id = $_GET['usuario'];
        $editar = \MySql::connect()->prepare("SELECT * FROM usuario WHERE id = $id");
        $editar->execute();

    if($editar->rowCount() == 1){
                $editar = $editar->fetch();

                \Views\MainView::render('edit',$editar,['titulo'=>'Editando o '.$editar['nome_usuario'].' ']);
            
    }else{
        echo '<script>location.href="home"</script>';
    }
   }else{
                echo '<script>location.href="home"</script>';
}

Os valores dos input vai ser a cosulta da tabela usuario onde o valor do id vai ser a query url usuario.

Agora é só fazer uma validação dos campos. verificar se os campos estão vázios ,validar o cpf e depois usar o UPDATE para fazer a atualização do usuário na tabela.

É muito importante não atualizar o email do usuário porque o email é uma caracteristica única do usuário.

            if(isset($_POST['editar_usuario'])){
                    $nome = $_POST['nome'];
                    $cpf = $_POST['cpf'];
            
                    if(empty($nome) || empty($cpf)){
                        echo '<div style="padding:10px;color:white;" class=" bg-danger bg-gradient ">Preenchar todos os campos!!</div>';
                    }else{
                        
                            if(\Models\coisasModel::validarCpf($cpf)){
                                $sql = \MySql::connect()->prepare("UPDATE usuario SET nome_usuario = ?,cpf_usuario = ? WHERE id = $id");
                                $sql->execute(array($nome,$cpf));
                                echo '<script>alert("Editado com sucesso!!!");location.href="home"</script>';
                         
                        }else{
                            echo '<div style="padding:10px;color:white;" class=" bg-danger bg-gradient">Email invalido!!</div>';
                        }
                    }
                }

Chegamos até o fim da documentação!! Muito obrigado por ter lido a documentação até esse ponto :)

Minhas redes sociais.

About

Uma aplicação simples para poder atualizar, cadastrar, excluir e listar o usuário.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages