Skip to content

Commit ed42975

Browse files
committed
feat: cadastro de usuário e schema relacional 👀
1 parent 940c731 commit ed42975

17 files changed

+444
-12331
lines changed

cadastro.php

-59
This file was deleted.

composers/head.php

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
echo '<link rel="preconnect" href="https://fonts.googleapis.com">';
4+
echo '<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>';
5+
echo '<link href="https://fonts.googleapis.com/css2?family=Londrina+Solid&family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">';
6+
echo '<link rel="stylesheet" href="../dependencies/uikit/css/uikit.min.css" />';
7+
echo '<script src="../dependencies/uikit/js/uikit.min.js"></script>';
8+
echo '<script src="../dependencies/uikit/js/uikit-icons.min.js"></script>';
9+
echo '<link rel="shortcut icon" type="image/x-icon" href="../favicon.ico" />';
10+
echo '<link rel="stylesheet" href="../styles.css" />';
11+
12+
?>

composers/navbar.php

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
echo
4+
'
5+
<header>
6+
<nav class="uk-navbar-container" uk-navbar>
7+
<div class="uk-navbar-left">
8+
9+
<a class="uk-navbar-item uk-logo" href="../index.php">Loggin</a>
10+
<ul class="uk-navbar-nav">
11+
<li>
12+
<a href="#">Usuários</a>
13+
<div class="uk-navbar-dropdown">
14+
<ul class="uk-nav uk-navbar-dropdown-nav">
15+
<li><a href="#">Consultar</a></li>
16+
<li><a href="../pages/cadastro.php">Cadastrar</a></li>
17+
<li><a href="#">Editar</a></li>
18+
<li><a href="#">Excluir</a></li>
19+
</ul>
20+
</div>
21+
</li>
22+
</ul>
23+
</div>
24+
</nav>
25+
</header>
26+
'
27+
?>

controllers/CadastroController.php

+47-38
Original file line numberDiff line numberDiff line change
@@ -17,59 +17,68 @@ function abrirConexao (){
1717
echo 'Conexão realizada com sucesso!';
1818
return $conexao;
1919
}catch(PDOException $e){
20-
echo 'Falha na concexão ==> '.$e->getMessage();
20+
echo 'Falha na conexão ==> '.$e->getMessage();
2121
}
2222
}
2323

24-
function inserir($matricula,$nome, $cpf){
24+
function inserir($login, $email, $cpf, $dataNascimento) {
2525
$conexao = $this->abrirConexao();
26-
if($matricula != null && $nome != null){
27-
28-
try {
29-
$cont = $conexao->exec(
30-
"INSERT INTO ALUNO (MATRICULA, NOME, CPF) VALUES ($matricula, '$nome', '$cpf')");
31-
if ($cont < 1) {
32-
echo 'erro';
33-
}
34-
else {
35-
echo "$cont Registros foram inclusos!";
36-
}
37-
} catch (PDOException $excecao) {
38-
39-
echo 'Erro ao inserir devido a '.$excecao->getMessage();
40-
}
26+
27+
try {
28+
$sql = "INSERT INTO USUARIOS (LOGIN, EMAIL, CPF, DATA_NASCIMENTO) VALUES (:login, :email, :cpf, :dataNascimento)";
29+
30+
$preparedSql = $conexao->prepare($sql);
31+
$preparedSql->bindParam(":login", $login);
32+
$preparedSql->bindParam(":email", $email);
33+
$preparedSql->bindParam(":cpf", $cpf);
34+
$preparedSql->bindParam(":dataNascimento", $dataNascimento);
35+
36+
$query = $preparedSql->execute();
37+
if ($query > 0) {
38+
echo "$query registros foram inclusos!";
39+
}
40+
} catch (PDOException $excecao) {
41+
echo 'Erro ao inserir devido a '.$excecao->getMessage();
4142
}
4243
}
4344

44-
function atualizar($matricula, $nome) {
45-
if ($matricula != null && $nome != null) {
46-
$conexao = $this->abrirConexao();
47-
$cont = $conexao->exec("UPDATE ALUNO SET NOME = '$nome' WHERE MATRICULA = $matricula");
45+
function getUsuarioCadastrado($login) {
46+
$conexao = $this->abrirConexao();
47+
48+
try {
49+
$sql = "SELECT ID, LOGIN, CPF FROM USUARIOS WHERE LOGIN = :login";
50+
51+
$preparedSql = $conexao->prepare($sql);
52+
$preparedSql->bindParam(":login", $login);
4853

49-
if($cont > 0) {
50-
echo "<p>$cont atualizados com sucesso</p>";
51-
} else {
52-
echo "<p>Não foi possível atualizar</p>";
54+
$preparedSql->execute();
55+
56+
foreach ($preparedSql as $row) {
57+
echo "ID $row[0] --- Login $row[1] --- CPF $row[2]";
5358
}
59+
60+
} catch (PDOException $excecao) {
61+
echo 'Erro ao inserir devido a '.$excecao->getMessage();
5462
}
5563
}
56-
5764
}
5865

5966
$servidor = new CadastroController();
60-
$servidor->abrirConexao();
6167

62-
// if ($_POST['matricula'] && $_POST['nome']){
68+
$login = $_POST['login'];
69+
$email = $_POST['email'];
70+
$cpf = $_POST['cpf'];
71+
$dataNascimento = $_POST['dataNascimento'];
72+
73+
if ($login && $email && $cpf && $dataNascimento) {
6374

64-
// $matricula = $_POST['matricula'];
65-
// $nome = $_POST['nome'];
66-
// $cpf = $_POST['cpf'];
75+
try {
76+
$servidor->inserir($login, $email, $cpf, $dataNascimento);
77+
$servidor->getUsuarioCadastrado($login);
78+
}
79+
catch(PDOException $e) {
80+
echo "<h1>Erro ao inserir--- </h1>".$e->getMessage();
81+
}
82+
}
6783

68-
// try {
69-
// $servidor->inserir($matricula,$nome, $cpf);
70-
// }
71-
// catch(PDOException $e) {
72-
// echo "<h1>Erro --- </h1>".$e->getMessage();
73-
// }
74-
// }
7584
?>

data/SQL-queries.sql

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
CREATE DATABASE LOGGIN;
2+
DROP TABLE USUARIOS;
3+
4+
CREATE TABLE USUARIOS (
5+
ID INT auto_increment not null unique,
6+
LOGIN VARCHAR(25) not null unique,
7+
EMAIL VARCHAR(60) not null unique,
8+
CPF VARCHAR(11) not null unique,
9+
DATA_NASCIMENTO DATE,
10+
11+
PRIMARY KEY(ID),
12+
INDEX PK_IDX(ID),
13+
INDEX CPF_IDX(CPF),
14+
INDEX LOGIN_IDX(LOGIN)
15+
);
16+
17+
SELECT * FROM USUARIOS;
18+
19+
DELETE FROM USUARIOS
20+
WHERE ID IN (1, 2, 3);
21+
22+
CREATE TABLE ENDERECOS (
23+
ID INT auto_increment not null unique,
24+
USUARIO_ID INT not null,
25+
EMAIL VARCHAR(60) not null unique,
26+
CPF VARCHAR(11) not null unique,
27+
DATA_NASCIMENTO DATE,
28+
29+
PRIMARY KEY(ID),
30+
FOREIGN KEY(USUARIO_ID) REFERENCES USUARIOS(ID),
31+
INDEX PK_IDX(ID),
32+
INDEX USUARIO_ID_IDX(USUARIO_ID)
33+
);

data/requests.http

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
GET https://viacep.com.br/ws/60767680/json/

dependencies/jquery/jquery-3.6.0.min.js

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)