Projeto1 Cadastro Clientes PHP - Codigo
Projeto1 Cadastro Clientes PHP - Codigo
Sumário ................................................................................................... 1
1.4 delete.php.................................................................................... 6
2 Imagens ............................................................................................. 8
3 lib ....................................................................................................... 8
4 includes .............................................................................................. 9
5.4 confirm.php................................................................................ 17
AULA PHP
CADASTRO DE CLIENTES.
1 BANCO DE DADOS
1.1 DB_CADASTRO.SQL
phpMyAdmin
SQL
Create database if not existis db_cadastro default character set utf8 defaut
1collate utf8_general_ci;
2
Agora clicamos na base de dados e selecionamos novamente SQL para
criar a nossa tabela
3
Como podemos ver temos nossa tabela criada e selecionando estrutura
podemos ver os campos da nossa tabela.
1.2 CONEXÃO.PHP
<?php
$utf8 = header("Content-Type: text/html; charset=utf-8");
$link = new mysqli('localhost','root','','db_cadastro');
$link->set_charset('utf8');
1.3 CREATE.PHP
<?php
Session_start();
include_once 'conexao.php';
$nome = filter_input(INPUT_POST, 'nome',
FILTER_SANITIZE_SPECIAL_CHARS);
4
$querySelect = $link->query("select email from tb_clientes");
$array_email =[];
while($emails = $querySelect->fetch_assoc()):
$emails_existentes = $emails['email'];
array_push($array_email, $emails_existentes);
endwhile;
if(in_array($email, $array_email)):
$_SESSION['msg'] = "<p class='center red-text'>".'Já existe
um cliente cadastrado com esse e-mail.'."</p>";
header("Location:../index.php");
else:
$querInsert = $link->query("insert into tb_clientes
values(default, '$nome','$email','$telefone')");
$affected_rows = mysqli_affected_rows($link);
5
1.4 DELETE.PHP
<?php
include_once 'conexao.php';
1.5 READ.PHP
<?php
include_once 'conexao.php';
$querySelect = $link->query("select * from tb_clientes");
while($registros = $querySelect->fetch_assoc()):
$id = $registros['id'];
$nome = $registros['nome'];
$email = $registros['email'];
$telefone = $registros['telefone'];
echo "<tr>";
echo "<td>$nome</td><td>$email</td><td>$telefone</td>";
echo "<td><a href='editar.php?id=$id'><i class='material-
icons'>edit</i></a></td>";
6
echo "<td><a href='confirm.php?id=$id'><i class='material-
icons'>delete</i></a></td>";
echo "</tr>";
endwhile;
/**ARQUIVO ORIGINAL
* echo "<td><a href='banco_de_dados/delete.php?id=$id'><i
class='material-icons'>delete</i></a></td>";
*/
1.6 UPDATE.PHP
<?php
session_start();
include_once 'conexao.php';
$id = $_SESSION['id'];
$telefone= filter_input(INPUT_POST,
'telefone',FILTER_SANITIZE_NUMBER_INT);
7
If($affected_rows > 0):
$_SESSION['msg'] = "<p class='center green-text'>".'Atualização
realizada com sucesso!'."<br>";
header("Location:../consultas.php");
else:
$_SESSION['msg'] = "<p class='center red-text'>".'Atualização
não realizada!'."<br>";
header("Location:../consultas.php");
endif;
2 IMAGENS
3 LIB
8
Encontre a opção METERIALIZE e selecione o arquivo para download e
baixe o arquivo que vai estar compactado. Selecione a pasta lib do nosso projeto
para salvar o arquivo.
Após salvar descompactar o arquivo na pasta lib, vamos agora acessar o
site https://jquery.com/
Que apesar do materialize a partir da versão 1.0 não depende mais do
jquery vamos utilizá-lo, porque usando o jquery é só colocar o nome da classe e
a inicialização é bem mais fácil.
Vamos na aba downloads. E selecionamos o link:
Download the compressed, production jQuery 3.6.0
Clicamos com o botão direito do mouse e selecionamos salvar como e
selecione a pasta LIB\ MATERIALIZE\ JS e salve o arquivo,
4 INCLUDES
4.1 HEADER.INC.PHP
O arquivo header.inc.php vamos colocar uma estrutura base para
darmos início ao nosso projeto.
Agora vamos voltar para a página:
https://materializecss.com/getting-started.html
e vamos procurar por HTML Setup, e vamos copiar o link
fonts.googleapis.com
Vamos então adicionar esse link no nosso código header.inc.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
9
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<!--CSS do MATERIALIZE-->
<link rel="stylesheet"
href="lib/materialize/css/materialize.min.css">
<title></title>
</head>
<body>
4.2 FOOTER.INC.PHP
});
</script>
</body>
</html>
10
Para testar vamos no arquivo index.php, abrir um bloco php e colocar a
função include_once chamando o arquivo header.inc.php
<?php include_once 'includes/header.inc.php' ?>
inserir uma tag <nav> apenas a nível de teste para ver se o materialize
está funcionando.
<nav></nav>
4.3 MENU.INC.PHP
Bom agora vamos criar então o nosso menu de navegação pois teremos
várias telas como a tela de editar, listar os registros...
<nav class="blue-grey">
<div class="nav-wrapper container">
<div class="brand-logo light">Sistema de Cadastro</div>
<ul class="right">
<li><a href="index.php"><i class="material-icons
left">account_circle</i>Cadastro</a></li>
</ul>
</div>
</nav>
11
5 ARQUIVOS CRIADOS NA RAIZ DO PROJETO
5.1 INDEX.PHP
<?php session_start() ?>
<?php include_once 'includes/header.inc.php' ?>
<?php include_once 'includes/menu.inc.php' ?>
<!--FORMULÁRIO DE CADASTRO-->
<div class="row container">
<p> </p>
<form action="banco_de_dados/create.php" method="POST" class="col
s12">
<?php
if (isset($_SESSION['msg'])) :
echo $_SESSION['msg'];
session_unset();
endif;
?>
<!--CAMPO NOME-->
<div class="input-field col s12">
12
<label for="nome">Nome do Cliente</label>
</div>
<!--CAMPO EMAIL-->
<div class="input-field col s12">
<!--CAMPO TELEFONE-->
<div class="input-field col s12">
</div>
<!--BOTÕES-->
<div class="imput-field col s12">
13
<input type="reset" value="limpar" class="btn
red">
</div>
</fieldset>
</form>
</div>
5.2 CONSULTAS.PHP
<?php session_start() ?>
<?php include_once 'includes/header.inc.php' ?>
<?php include_once 'includes/menu.inc.php' ?>
<?php
if (isset($_SESSION['msg'])) :
echo $_SESSION['msg'];
session_unset();
endif;
?>
<table class="striped">
<thead>
<tr>
<th>Nome</th>
<th>Email</th>
<th>Telefone</th>
</tr>
</thead>
14
<tbody>
<?php
include_once 'banco_de_dados/read.php'
?>
</tbody>
</table>
</div>
</div>
<?php include_once 'includes/footer.inc.php' ?>
5.3 EDITAR.PHP
<?php
include_once 'banco_de_dados/conexao.php';
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
$_SESSION['id'] = $id;
$querySelect = $link->query("select * from tb_clientes where
id='$id'");
15
while($registros=$querySelect->fetch_assoc()):
$nome=$registros['nome'];
$email=$registros['email'];
$telefone=$registros['telefone'];
endwhile;
?>
<!--CAMPO NOME-->
<div class="input-field col s12">
<i class="material-icons prefix">account_circle</i>
<input type="text" name="nome" id="nome" value="<?php
echo $nome ?>" maxlength="40" required autofocus>
<label for="nome">Nome do Cliente</label>
</div>
<!--CAMPO EMAIL-->
<div class="input-field col s12">
<i class="material-icons prefix">mail</i>
<input type="email" name="email" id="email"
value="<?php echo $email ?>" maxlength="50" required>
<label for="email">Email do Cliente</label>
</div>
<!--CAMPO TELEFONE-->
16
<div class="input-field col s12">
<i class="material-icons prefix">phone</i>
<input type="tel" name="telefone" id="telefone"
value="<?php echo $telefone ?>" maxlength="15" required>
<label for="telefone">Telefone do Cliente</label>
</div>
<!--BOTÕES-->
<div class="imput-field col s12">
<input type="submit" value="alterar" class="btn blue">
<a href="consultas.php" class="btn red">cancelar</a>
</div>
</fieldset>
</form>
</div>
5.4 CONFIRM.PHP
<?php session_start();
include_once 'includes/header.inc.php';
include_once 'includes/menu.inc.php';
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
?>
<div class="row">
<div class="col s12 m6">
<div class="card red darken-1">
<div class="card-content white-text">
<p>Você tem certeza de que deseja excluir esse
registro? Essa alteração não pode ser desfeita.</p>
</div>
17
<div class="card-action">
<?php
echo "<td><a
href='banco_de_dados/delete.php?id=$id'><i class='waves-effect waves-
light btn'><i class='material-icons
left'>thumb_up</i>Sim</i></a></td>";
?>
</div>
</div>
</div>
</div>
18