Primeiro commit

Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2025-01-01 21:15:15 -03:00
commit a1beb6a2e0
425 files changed
+193665

No files matched your search

+58
View File
@@ -0,0 +1,58 @@
<?php
session_start(); // Iniciar sessão
// Verificar se o usuário está logado
if (!isset($_SESSION['user_id'])) {
http_response_code(401); // Não autorizado
echo json_encode([]);
exit();
}
header('Content-Type: application/json; charset=utf-8');
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
// Verificar erros na conexão
if ($mysqli->connect_error) {
echo json_encode([]);
exit();
}
// Obter o termo de pesquisa
$term = isset($_GET['term']) ? trim($_GET['term']) : '';
if ($term === '') {
echo json_encode([]);
exit();
}
// Preparar a consulta para buscar nomes, CPFs ou emails que correspondam ao termo
$stmt = $mysqli->prepare("
SELECT id, name, cpf, email
FROM clients
WHERE name LIKE CONCAT('%', ?, '%')
OR cpf LIKE CONCAT('%', ?, '%')
OR email LIKE CONCAT('%', ?, '%')
LIMIT 10
");
$stmt->bind_param("sss", $term, $term, $term);
$stmt->execute();
$result = $stmt->get_result();
// Construir o array de sugestões
$suggestions = [];
while ($row = $result->fetch_assoc()) {
$suggestions[] = [
'id' => htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'),
'label' => htmlspecialchars($row['name'] . ' - ' . $row['cpf'] . ' - ' . $row['email'], ENT_QUOTES, 'UTF-8'),
'value' => htmlspecialchars($row['name'], ENT_QUOTES, 'UTF-8') // Valor exibido no input
];
}
echo json_encode($suggestions);
// Fechar o statement e a conexão
$stmt->close();
$mysqli->close();
?>
+221
View File
@@ -0,0 +1,221 @@
<?php
// Verificar se o usuário está logado
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Detalhes do Cliente</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="../script/formatacoes.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.note-actions {
display: inline-block;
margin-left: 10px;
}
.note-actions i {
cursor: pointer;
margin-right: 5px;
}
</style>
</head>
<body>
<div class="container">
<?php
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
if (isset($_GET['id'])) {
$client_id = $_GET['id'];
$result = $mysqli->query("SELECT * FROM clients WHERE id = $client_id");
if ($result->num_rows > 0) {
$client = $result->fetch_assoc();
echo "<h2>Detalhes do Cliente: " . htmlspecialchars($client['name'] ?? '') . "</h2>";
echo "<a href='index.php?page=edit_client&id=$client_id'><button>Editar Cliente</button></a>";
echo "";
echo "<div class='client-details'>";
if (!empty($client['cpf'])) {
echo "<div class='client-info'><strong>CPF:</strong> <span id='numero-cpf'>" . htmlspecialchars($client['cpf'] ?? '') . "</span></div>"; // Adicione id="numero-cpf"
}
if (!empty($client['rg'])) {
echo "<div class='client-info'><strong>RG:</strong> " . htmlspecialchars($client['rg'] ?? '') . " (" . htmlspecialchars($client['rg_emissor'] ?? '') . ")</div>";
}
if (!empty($client['sexo'])) {
echo "<div class='client-info'><strong>Sexo:</strong> " . htmlspecialchars($client['sexo'] ?? '') . "</div>";
}
if (!empty($client['estado_civil'])) {
echo "<div class='client-info'><strong>Estado Civil:</strong> " . htmlspecialchars($client['estado_civil'] ?? '') . "</div>";
}
if (!empty($client['phone'])) {
echo "<div class='client-info'><strong>Telefone:</strong> <span id='numero-telefone'>" . htmlspecialchars($client['phone'] ?? '') . ($client['whatsapp'] ? " (WhatsApp)" : "") . "</span></div>"; // Adicione id="numero-telefone"
}
if (!empty($client['email'])) {
echo "<div class='client-info'><strong>Email:</strong> " . htmlspecialchars($client['email'] ?? '') . "</div>";
}
if (!empty($client['senha_meu_inss'])) {
echo "<div class='client-info'><strong>Senha do Meu INSS:</strong> " . htmlspecialchars($client['senha_meu_inss'] ?? '') . "</div>";
}
if (!empty($client['perfil_instagram'])) {
echo "<div class='client-info'><strong>Perfil do Instagram:</strong> @" . htmlspecialchars($client['perfil_instagram'] ?? '') . "</div>";
}
if (!empty($client['tipo_logradouro']) || !empty($client['endereco']) || !empty($client['bairro']) || !empty($client['cidade']) || !empty($client['estado']) || !empty($client['cep'])) {
echo "<div class='client-info'><strong>Endereço:</strong> " . htmlspecialchars($client['tipo_logradouro'] ?? '') . " " . htmlspecialchars($client['endereco'] ?? '') . ", " . htmlspecialchars($client['bairro'] ?? '') . ", " . htmlspecialchars($client['cidade'] ?? '') . " - " . htmlspecialchars($client['estado'] ?? '') . ", " . htmlspecialchars($client['cep'] ?? '') . "</div>";
}
if (!empty($client['certidao_nascimento'])) {
echo "<div class='client-info'><strong>Certidão de Nascimento/Casamento:</strong> " . htmlspecialchars($client['certidao_nascimento'] ?? '') . "</div>";
}
if (!empty($client['pis_pasep'])) {
echo "<div class='client-info'><strong>PIS/PASEP:</strong> " . htmlspecialchars($client['pis_pasep'] ?? '') . "</div>";
}
if (!empty($client['inss_beneficio'])) {
echo "<div class='client-info'><strong>Número do Benefício INSS:</strong> " . htmlspecialchars($client['inss_beneficio'] ?? '') . "</div>";
}
if (!empty($client['filiacao_pai'])) {
echo "<div class='client-info'><strong>Filiação (Pai):</strong> " . htmlspecialchars($client['filiacao_pai'] ?? '') . "</div>";
}
if (!empty($client['filiacao_mae'])) {
echo "<div class='client-info'><strong>Filiação (Mãe):</strong> " . htmlspecialchars($client['filiacao_mae'] ?? '') . "</div>";
}
echo "</div>";
// Abas
echo "<div class='tabs'>
<button class='tab-button' onclick='showTab(\"notes\")'>Notas</button>
<button class='tab-button' onclick='showTab(\"documents\")'>Documentos de Texto</button>
<button class='tab-button' onclick='showTab(\"files\")'>Arquivos</button>
<button class='tab-button' onclick='showTab(\"processes\")'>Processos</button>
</div>";
// Conteúdo das abas
echo "<div id='notes' class='tab-content'>";
echo "<h3>Notas</h3>";
// Formulário de nova nota
echo "<form id='new-note-form' action='index.php?page=client_details&id=$client_id' method='post'>
<textarea name='note' placeholder='Digite uma nova nota'></textarea>
<button type='submit'>Adicionar Nota</button>
</form>";
// Inserir nova nota no banco de dados
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['note'])) {
$note = $_POST['note'];
$stmt = $mysqli->prepare("INSERT INTO notes (client_id, note) VALUES (?, ?)");
$stmt->bind_param("is", $client_id, $note);
$stmt->execute();
$stmt->close();
}
// Listar notas
$notes_result = $mysqli->query("SELECT * FROM notes WHERE client_id = $client_id");
if ($notes_result->num_rows > 0) {
while ($note = $notes_result->fetch_assoc()) {
echo "<div class='note' id='note-" . $note['id'] . "'>";
echo "<p>" . htmlspecialchars($note['note'] ?? '') . " <small>(" . $note['created_at'] . ")</small></p>";
echo "<div class='note-actions'>";
echo "<i class='fas fa-edit edit-note' data-note-id='" . $note['id'] . "' title='Editar nota'></i>";
echo "<i class='fas fa-trash delete-note' data-note-id='" . $note['id'] . "' title='Excluir nota'></i>";
echo "</div>";
echo "</div>";
}
} else {
echo "<p>Sem notas.</p>";
}
echo "</div>";
echo "<div id='documents' class='tab-content' style='display:none;'>
<h3>Documentos de Texto</h3>
<p>Conteúdo da aba Documentos de Texto.</p>
</div>";
echo "<div id='files' class='tab-content' style='display:none;'>
<h3>Arquivos</h3>
<p>Conteúdo da aba Arquivos.</p>
</div>";
echo "<div id='processes' class='tab-content' style='display:none;'>
<h3>Processos</h3>
<p>Conteúdo da aba Processos.</p>
</div>";
} else {
echo "<p>Cliente não encontrado.</p>";
}
} else {
echo "<p>ID do cliente não fornecido.</p>";
}
$mysqli->close();
?>
</div>
<script>
$(document).ready(function() {
var telefone = "<?php echo $client['phone']; ?>";
if (telefone) {
$("#numero-telefone").text(formatarTelefone(telefone)); // Usando .text() para substituir o conteúdo
}
var cpf = "<?php echo $client['cpf']; ?>";
if (cpf) {
$("#numero-cpf").text(formatarCPF(cpf)); // Formata o CPF
}
// Editar nota
$(document).on('click', '.edit-note', function() {
var noteId = $(this).data('note-id');
var noteContent = $(this).closest('.note').find('p').text();
var editForm = `
<form class="edit-note-form" data-note-id="${noteId}">
<textarea name="note">${noteContent}</textarea>
<button type="submit">Salvar</button>
<button type="button" class="cancel-edit">Cancelar</button>
</form>
`;
$(this).closest('.note').html(editForm);
});
// Cancelar edição de nota
$(document).on('click', '.cancel-edit', function() {
location.reload();
});
// Salvar edição de nota
$(document).on('submit', '.edit-note-form', function(e) {
e.preventDefault();
var noteId = $(this).data('note-id');
var noteContent = $(this).find('textarea[name="note"]').val();
$.post('index.php?page=edit_note', { id: noteId, note: noteContent }, function(response) {
location.reload();
});
});
// Excluir nota
$(document).on('click', '.delete-note', function() {
if (confirm('Tem certeza que deseja excluir esta nota?')) {
var noteId = $(this).data('note-id');
$.post('index.php?page=delete_note', { id: noteId }, function(response) {
location.reload();
});
}
});
});
function showTab(tabId) {
var tabs = document.getElementsByClassName('tab-content');
for (var i = 0; i < tabs.length; i++) {
tabs[i].style.display = 'none';
}
document.getElementById(tabId).style.display = 'block';
}
</script>
</body>
</html>
+40
View File
@@ -0,0 +1,40 @@
<?php
// delete_client.php
// Verificar se o usuário está logado
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
// Verificar se o ID do cliente foi fornecido via GET
if (isset($_GET['id'])) {
$client_id = intval($_GET['id']);
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
if ($mysqli->connect_error) {
die("Falha na conexão: " . $mysqli->connect_error);
}
// Preparar a declaração para evitar injeção de SQL
$stmt = $mysqli->prepare("DELETE FROM clients WHERE id = ?");
$stmt->bind_param("i", $client_id);
if ($stmt->execute()) {
// Redirecionar de volta para a lista de clientes após a exclusão
header("Location: index.php?page=list_clients&msg=Cliente+excluído+com+sucesso");
exit();
} else {
echo "Erro ao excluir cliente: " . $mysqli->error;
}
$stmt->close();
$mysqli->close();
} else {
// Redirecionar se o ID não foi fornecido
header("Location: index.php?page=list_clients");
exit();
}
?>
+29
View File
@@ -0,0 +1,29 @@
<?php
// Verificar se o usuário está logado
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])) {
$note_id = $_POST['id'];
$stmt = $mysqli->prepare("DELETE FROM notes WHERE id = ?");
$stmt->bind_param("i", $note_id);
$stmt->execute();
$stmt->close();
echo "Nota excluída com sucesso!";
} else {
echo "Dados inválidos.";
}
$mysqli->close();
?>
+218
View File
@@ -0,0 +1,218 @@
<?php
// Conectar ao banco de dados
// Verificar se o usuário está logado
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
// Verificar se o ID do cliente foi fornecido
if (isset($_GET['id'])) {
$client_id = $_GET['id'];
// Verificar se o formulário foi enviado
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Obter os dados do formulário
$name = $_POST['name'];
$cpf = $_POST['cpf'];
$rg = $_POST['rg'];
$rg_emissor = $_POST['rg_emissor'];
$sexo = $_POST['sexo'];
$estado_civil = $_POST['estado_civil'];
$phone = $_POST['phone'];
$whatsapp = isset($_POST['whatsapp']) ? 1 : 0;
$email = $_POST['email'];
$senha_meu_inss = $_POST['senha_meu_inss'];
$perfil_instagram = $_POST['perfil_instagram'];
$tipo_logradouro = $_POST['tipo_logradouro'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$cep = $_POST['cep'];
$certidao_nascimento = $_POST['certidao_nascimento'];
$pis_pasep = $_POST['pis_pasep'];
$inss_beneficio = $_POST['inss_beneficio'];
$filiacao_pai = $_POST['filiacao_pai'];
$filiacao_mae = $_POST['filiacao_mae'];
// Atualizar os dados do cliente no banco de dados
$stmt = $mysqli->prepare("UPDATE clients SET name=?, cpf=?, rg=?, rg_emissor=?, sexo=?, estado_civil=?, phone=?, whatsapp=?, email=?, senha_meu_inss=?, perfil_instagram=?, tipo_logradouro=?, endereco=?, bairro=?, cidade=?, estado=?, cep=?, certidao_nascimento=?, pis_pasep=?, inss_beneficio=?, filiacao_pai=?, filiacao_mae=? WHERE id=?");
$stmt->bind_param("ssssssssssssssssssssssi", $name, $cpf, $rg, $rg_emissor, $sexo, $estado_civil, $phone, $whatsapp, $email, $senha_meu_inss, $perfil_instagram, $tipo_logradouro, $endereco, $bairro, $cidade, $estado, $cep, $certidao_nascimento, $pis_pasep, $inss_beneficio, $filiacao_pai, $filiacao_mae, $client_id);
if ($stmt->execute()) {
$stmt->close();
$mysqli->close();
header("Location: index.php?page=client_details&id=$client_id");
exit();
} else {
echo "<p>Erro ao atualizar cliente.</p>";
}
$stmt->close();
}
// Obter os dados do cliente do banco de dados
$result = $mysqli->query("SELECT * FROM clients WHERE id = $client_id");
if ($result->num_rows > 0) {
$client = $result->fetch_assoc();
} else {
echo "<p>Cliente não encontrado.</p>";
exit();
}
} else {
echo "<p>ID do cliente não fornecido.</p>";
exit();
}
$mysqli->close();
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Editar Cliente</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h2>Editar Cliente: <?php echo htmlspecialchars($client['name']); ?></h2>
<form action="index.php?page=edit_client&id=<?php echo $client_id; ?>" method="post">
<div class="form-group">
<label for="name">Nome:</label>
<input type="text" id="name" name="name" value="<?php echo htmlspecialchars($client['name']); ?>" required>
</div>
<div class="form-group">
<label for="cpf">CPF:</label>
<input type="text" id="cpf" name="cpf" value="<?php echo htmlspecialchars($client['cpf']); ?>" required>
</div>
<div class="form-group">
<label for="rg">RG:</label>
<input type="text" id="rg" name="rg" value="<?php echo htmlspecialchars($client['rg']); ?>">
</div>
<div class="form-group">
<label for="rg_emissor">Órgão Emissor:</label>
<input type="text" id="rg_emissor" name="rg_emissor" value="<?php echo htmlspecialchars($client['rg_emissor']); ?>">
</div>
<div class="form-group">
<label for="sexo">Sexo:</label>
<select id="sexo" name="sexo">
<option value="Masculino" <?php echo $client['sexo'] == 'Masculino' ? 'selected' : ''; ?>>Masculino</option>
<option value="Feminino" <?php echo $client['sexo'] == 'Feminino' ? 'selected' : ''; ?>>Feminino</option>
<option value="Não definido" <?php echo $client['sexo'] == 'Não definido' ? 'selected' : ''; ?>>Não definido</option>
</select>
</div>
<div class="form-group">
<label for="estado_civil">Estado Civil:</label>
<select id="estado_civil" name="estado_civil">
<option value="Solteiro(a)" <?php echo $client['estado_civil'] == 'Solteiro(a)' ? 'selected' : ''; ?>>Solteiro(a)</option>
<option value="Casado(a)" <?php echo $client['estado_civil'] == 'Casado(a)' ? 'selected' : ''; ?>>Casado(a)</option>
<option value="Viúvo(a)" <?php echo $client['estado_civil'] == 'Viúvo(a)' ? 'selected' : ''; ?>>Viúvo(a)</option>
<option value="União estável" <?php echo $client['estado_civil'] == 'União estável' ? 'selected' : ''; ?>>União estável</option>
</select>
</div>
<div class="form-group">
<label for="phone">Telefone:</label>
<input type="text" id="phone" name="phone" value="<?php echo htmlspecialchars($client['phone']); ?>">
<label for="whatsapp">WhatsApp:</label>
<input type="checkbox" id="whatsapp" name="whatsapp" <?php echo $client['whatsapp'] ? 'checked' : ''; ?>>
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email" value="<?php echo htmlspecialchars($client['email']); ?>">
</div>
<div class="form-group">
<label for="senha_meu_inss">Senha do Meu INSS:</label>
<input type="text" id="senha_meu_inss" name="senha_meu_inss" value="<?php echo htmlspecialchars($client['senha_meu_inss']); ?>">
</div>
<div class="form-group">
<label for="perfil_instagram">Perfil do Instagram:</label>
<input type="text" id="perfil_instagram" name="perfil_instagram" value="<?php echo htmlspecialchars($client['perfil_instagram']); ?>">
</div>
<div class="form-group">
<label for="tipo_logradouro">Tipo de Logradouro:</label>
<select id="tipo_logradouro" name="tipo_logradouro">
<option value="Rua" <?php echo $client['tipo_logradouro'] == 'Rua' ? 'selected' : ''; ?>>Rua</option>
<option value="Avenida" <?php echo $client['tipo_logradouro'] == 'Avenida' ? 'selected' : ''; ?>>Avenida</option>
<option value="Alameda" <?php echo $client['tipo_logradouro'] == 'Alameda' ? 'selected' : ''; ?>>Alameda</option>
<option value="Travessa" <?php echo $client['tipo_logradouro'] == 'Travessa' ? 'selected' : ''; ?>>Travessa</option>
<option value="Largo" <?php echo $client['tipo_logradouro'] == 'Largo' ? 'selected' : ''; ?>>Largo</option>
<!-- Adicione mais opções conforme necessário -->
</select>
</div>
<div class="form-group">
<label for="endereco">Endereço:</label>
<input type="text" id="endereco" name="endereco" value="<?php echo htmlspecialchars($client['endereco']); ?>">
</div>
<div class="form-group">
<label for="bairro">Bairro:</label>
<input type="text" id="bairro" name="bairro" value="<?php echo htmlspecialchars($client['bairro']); ?>">
</div>
<div class="form-group">
<label for="cidade">Cidade:</label>
<input type="text" id="cidade" name="cidade" value="<?php echo htmlspecialchars($client['cidade']); ?>">
</div>
<div class="form-group">
<label for="estado">Estado:</label>
<select id="estado" name="estado">
<option value="AC" <?php echo $client['estado'] == 'AC' ? 'selected' : ''; ?>>Acre</option>
<option value="AL" <?php echo $client['estado'] == 'AL' ? 'selected' : ''; ?>>Alagoas</option>
<option value="AP" <?php echo $client['estado'] == 'AP' ? 'selected' : ''; ?>>Amapá</option>
<option value="AM" <?php echo $client['estado'] == 'AM' ? 'selected' : ''; ?>>Amazonas</option>
<option value="BA" <?php echo $client['estado'] == 'BA' ? 'selected' : ''; ?>>Bahia</option>
<option value="CE" <?php echo $client['estado'] == 'CE' ? 'selected' : ''; ?>>Ceará</option>
<option value="DF" <?php echo $client['estado'] == 'DF' ? 'selected' : ''; ?>>Distrito Federal</option>
<option value="ES" <?php echo $client['estado'] == 'ES' ? 'selected' : ''; ?>>Espírito Santo</option>
<option value="GO" <?php echo $client['estado'] == 'GO' ? 'selected' : ''; ?>>Goiás</option>
<option value="MA" <?php echo $client['estado'] == 'MA' ? 'selected' : ''; ?>>Maranhão</option>
<option value="MT" <?php echo $client['estado'] == 'MT' ? 'selected' : ''; ?>>Mato Grosso</option>
<option value="MS" <?php echo $client['estado'] == 'MS' ? 'selected' : ''; ?>>Mato Grosso do Sul</option>
<option value="MG" <?php echo $client['estado'] == 'MG' ? 'selected' : ''; ?>>Minas Gerais</option>
<option value="PA" <?php echo $client['estado'] == 'PA' ? 'selected' : ''; ?>>Pará</option>
<option value="PB" <?php echo $client['estado'] == 'PB' ? 'selected' : ''; ?>>Paraíba</option>
<option value="PR" <?php echo $client['estado'] == 'PR' ? 'selected' : ''; ?>>Paraná</option>
<option value="PE" <?php echo $client['estado'] == 'PE' ? 'selected' : ''; ?>>Pernambuco</option>
<option value="PI" <?php echo $client['estado'] == 'PI' ? 'selected' : ''; ?>>Piauí</option>
<option value="RJ" <?php echo $client['estado'] == 'RJ' ? 'selected' : ''; ?>>Rio de Janeiro</option>
<option value="RN" <?php echo $client['estado'] == 'RN' ? 'selected' : ''; ?>>Rio Grande do Norte</option>
<option value="RS" <?php echo $client['estado'] == 'RS' ? 'selected' : ''; ?>>Rio Grande do Sul</option>
<option value="RO" <?php echo $client['estado'] == 'RO' ? 'selected' : ''; ?>>Rondônia</option>
<option value="RR" <?php echo $client['estado'] == 'RR' ? 'selected' : ''; ?>>Roraima</option>
<option value="SC" <?php echo $client['estado'] == 'SC' ? 'selected' : ''; ?>>Santa Catarina</option>
<option value="SP" <?php echo $client['estado'] == 'SP' ? 'selected' : ''; ?>>São Paulo</option>
<option value="SE" <?php echo $client['estado'] == 'SE' ? 'selected' : ''; ?>>Sergipe</option>
<option value="TO" <?php echo $client['estado'] == 'TO' ? 'selected' : ''; ?>>Tocantins</option>
</select>
</div>
<div class="form-group">
<label for="cep">CEP:</label>
<input type="text" id="cep" name="cep" value="<?php echo htmlspecialchars($client['cep']); ?>">
</div>
<div class="form-group">
<label for="certidao_nascimento">Certidão de Nascimento/Casamento:</label>
<input type="text" id="certidao_nascimento" name="certidao_nascimento" value="<?php echo htmlspecialchars($client['certidao_nascimento']); ?>">
</div>
<div class="form-group">
<label for="pis_pasep">PIS/PASEP:</label>
<input type="text" id="pis_pasep" name="pis_pasep" value="<?php echo htmlspecialchars($client['pis_pasep']); ?>">
</div>
<div class="form-group">
<label for="inss_beneficio">Número do Benefício INSS:</label>
<input type="text" id="inss_beneficio" name="inss_beneficio" value="<?php echo htmlspecialchars($client['inss_beneficio']); ?>">
</div>
<div class="form-group">
<label for="filiacao_pai">Filiação (Pai):</label>
<input type="text" id="filiacao_pai" name="filiacao_pai" value="<?php echo htmlspecialchars($client['filiacao_pai']); ?>">
</div>
<div class="form-group">
<label for="filiacao_mae">Filiação (Mãe):</label>
<input type="text" id="filiacao_mae" name="filiacao_mae" value="<?php echo htmlspecialchars($client['filiacao_mae']); ?>">
</div>
<button type="submit">Atualizar</button>
</form>
</div>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<?php
// Verificar se o usuário está logado
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id']) && isset($_POST['note'])) {
$note_id = $_POST['id'];
$note = $_POST['note'];
$stmt = $mysqli->prepare("UPDATE notes SET note = ? WHERE id = ?");
$stmt->bind_param("si", $note, $note_id);
$stmt->execute();
$stmt->close();
echo "Nota atualizada com sucesso!";
} else {
echo "Dados inválidos.";
}
$mysqli->close();
?>
+331
View File
@@ -0,0 +1,331 @@
<?php
// Verificar se o usuário está logado
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
// Definir quantos clientes serão exibidos por página
define('RESULTS_PER_PAGE', 20);
// Obter a página atual a partir do parâmetro 'page' na URL, padrão para 1
$page = isset($_GET['page']) && is_numeric($_GET['page']) ? (int) $_GET['page'] : 1;
// Calcular o deslocamento
$offset = ($page - 1) * RESULTS_PER_PAGE;
// Obter o termo de pesquisa, se houver
$search = isset($_GET['search']) ? trim($_GET['search']) : '';
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
// Verificar erros na conexão
if ($mysqli->connect_error) {
die("Falha na conexão: " . htmlspecialchars($mysqli->connect_error, ENT_QUOTES, 'UTF-8'));
}
// Preparar a consulta com pesquisa e paginação
if ($search !== '') {
// Utilizar consultas preparadas para prevenir SQL Injection
$stmt = $mysqli->prepare("
SELECT *
FROM clients
WHERE name LIKE CONCAT('%', ?, '%')
OR cpf LIKE CONCAT('%', ?, '%')
OR email LIKE CONCAT('%', ?, '%')
LIMIT ? OFFSET ?
");
$stmt->bind_param("sssii", $search, $search, $search, $limit, $offset);
} else {
$stmt = $mysqli->prepare("SELECT * FROM clients LIMIT ? OFFSET ?");
$stmt->bind_param("ii", $limit, $offset);
}
// Definir os parâmetros de limite e offset
$limit = RESULTS_PER_PAGE;
// Executar a consulta
$stmt->execute();
$result = $stmt->get_result();
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Listagem de Clientes</title>
<link rel="stylesheet" href="style.css">
<!-- Inclusão do Font Awesome para ícones -->
<script src="../script/formatacoes.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- Inclusão do jQuery e jQuery UI para autocomplete -->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"
crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"
crossorigin="anonymous"></script>
<style>
/* Estilização opcional para os ícones de ação */
.action-icons a, .action-icons button {
margin-right: 10px;
color: #333;
text-decoration: none;
transition: color 0.3s;
background: none;
border: none;
cursor: pointer;
font-size: 1em;
}
.action-icons a:hover, .action-icons button:hover {
color: #007BFF; /* Cor azul ao passar o mouse */
}
.action-icons button.delete {
color: #DC3545; /* Cor vermelha para excluir */
}
.action-icons button.delete:hover {
color: #C82333;
}
.action-icons a.edit {
color: #28A745; /* Cor verde para editar */
}
.action-icons a.edit:hover {
color: #218838;
}
/* Estilo para o botão de exclusão dentro do formulário */
.action-icons button.delete {
padding: 0;
}
/* Opcional: Estilização da tabela */
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
table, th, td {
border: 1px solid #ddd;
padding: 8px;
}
th {
background-color: #f4f4f4;
text-align: left;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
.search-bar-clientes {
width: 1500px;
padding: 8px;
border-radius: 4px;
}
#search {
width: 300px;
padding: 8px;
font-size: 1em;
}
#search-button {
padding: 8px 12px;
font-size: 1em;
cursor: pointer;
background-color: #007BFF;
color: #fff;
border: none;
border-radius: 4px;
transition: background-color 0.3s;
}
#search-button:hover {
background-color: #0056b3;
}
/* Estilos para a paginação */
.pagination {
margin-top: 20px;
text-align: center;
}
.pagination a, .pagination span {
display: inline-block;
margin: 0 5px;
padding: 8px 12px;
text-decoration: none;
color: #007BFF;
border: 1px solid #ddd;
border-radius: 4px;
transition: background-color 0.3s, color 0.3s;
}
.pagination a:hover {
background-color: #007BFF;
color: #fff;
}
.pagination .current-page {
background-color: #007BFF;
color: #fff;
border-color: #007BFF;
}
</style>
</head>
<body>
<div class="container">
<h2>Lista de Clientes</h2>
<div class="search-bar-clientes">
<input type="text" id="search" placeholder="Pesquisar por nome, CPF ou email" value="<?php echo htmlspecialchars($search, ENT_QUOTES, 'UTF-8'); ?>">
<button type="button" id="search-button">Pesquisar</button>
</div>
<?php
if ($result->num_rows > 0) {
echo "<table>
<tr>
<th>Nome</th>
<th>CPF</th>
<th>Telefone</th>
<th>Email</th>
<th>Ações</th>
</tr>";
// Iterar sobre cada cliente
while($row = $result->fetch_assoc()) {
// Escapar saídas para prevenir XSS
$id = htmlspecialchars($row["id"], ENT_QUOTES, 'UTF-8');
$nome = htmlspecialchars($row["name"], ENT_QUOTES, 'UTF-8');
$cpf = htmlspecialchars($row["cpf"], ENT_QUOTES, 'UTF-8');
$telefone = htmlspecialchars($row["phone"], ENT_QUOTES, 'UTF-8');
$email = htmlspecialchars($row["email"], ENT_QUOTES, 'UTF-8');
echo "<tr>
<td><a href='index.php?page=client_details&id=$id'>$nome</a></td>
<td>$cpf</td>
<td>$telefone</td>
<td>$email</td>
<td class='action-icons'>
<!-- Ícone de Editar -->
<a href='index.php?page=edit_client&id=$id' class='edit' title='Editar Cliente'><i class='fas fa-edit'></i></a>
<!-- Formulário para Excluir com método POST -->
<form action='clientes/delete_client.php' method='post' onsubmit=\"return confirm('Tem certeza que deseja excluir este cliente?');\" style='display:inline;'>
<input type='hidden' name='id' value='$id'>
<button type='submit' class='delete' title='Excluir Cliente'><i class='fas fa-trash'></i></button>
</form>
</td>
</tr>";
}
echo "</table>";
// Fechar o statement
$stmt->close();
} else {
echo "<p>Nenhum cliente encontrado.</p>";
}
// Contar o total de clientes para a paginação
if ($search !== '') {
$count_stmt = $mysqli->prepare("
SELECT COUNT(*)
FROM clients
WHERE name LIKE CONCAT('%', ?, '%')
OR cpf LIKE CONCAT('%', ?, '%')
OR email LIKE CONCAT('%', ?, '%')
");
$count_stmt->bind_param("sss", $search, $search, $search);
} else {
$count_stmt = $mysqli->prepare("SELECT COUNT(*) FROM clients");
}
$count_stmt->execute();
$count_stmt->bind_result($total_clients);
$count_stmt->fetch();
$count_stmt->close();
// Calcular o total de páginas
$total_pages = ceil($total_clients / RESULTS_PER_PAGE);
// Exibir links de paginação se houver mais de uma página
if ($total_pages > 1) {
echo "<div class='pagination'>";
// Link para a página anterior
if ($page > 1) {
$prev_page = $page - 1;
$url = 'list_clients.php?page=' . $prev_page;
if ($search !== '') {
$url .= '&search=' . urlencode($search);
}
echo "<a href='$url'>&laquo; Anterior</a>";
}
// Links para cada página (limitando a 5 páginas visíveis)
$max_display = 5; // Número máximo de páginas a exibir
$start = max(1, $page - floor($max_display / 2));
$end = min($total_pages, $start + $max_display - 1);
if ($start > 1) {
echo "<a href='list_clients.php?page=1" . ($search !== '' ? '&search=' . urlencode($search) : '') . "'>1</a>";
if ($start > 2) {
echo "<span>...</span>";
}
}
for ($i = $start; $i <= $end; $i++) {
$url = 'list_clients.php?page=' . $i;
if ($search !== '') {
$url .= '&search=' . urlencode($search);
}
if ($i == $page) {
echo "<span class='current-page'>$i</span>";
} else {
echo "<a href='$url'>$i</a>";
}
}
if ($end < $total_pages) {
if ($end < $total_pages - 1) {
echo "<span>...</span>";
}
echo "<a href='list_clients.php?page=$total_pages" . ($search !== '' ? '&search=' . urlencode($search) : '') . "'>$total_pages</a>";
}
// Link para a próxima página
if ($page < $total_pages) {
$next_page = $page + 1;
$url = 'list_clients.php?page=' . $next_page;
if ($search !== '') {
$url .= '&search=' . urlencode($search);
}
echo "<a href='$url'>Próxima &raquo;</a>";
}
echo "</div>";
}
// Fechar a conexão com o banco de dados
$mysqli->close();
?>
</div>
<script>
$(document).ready(function() {
formatarTabela('table', 2, 3); // 'table' é o seletor da sua tabela, 2 e 3 são as colunas de CPF e Telefone
});
</script>
</body>
</html>
+203
View File
@@ -0,0 +1,203 @@
<?php
// Verificar se o usuário está logado
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Cadastro de Clientes</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h2>Cadastro de Clientes</h2>
<form action="index.php?page=register_client" method="post">
<div class="form-group">
<label for="name">Nome:</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="cpf">CPF:</label>
<input type="text" id="cpf" name="cpf" required>
</div>
<div class="form-group">
<label for="rg">RG:</label>
<input type="text" id="rg" name="rg">
</div>
<div class="form-group">
<label for="rg_emissor">Órgão Emissor:</label>
<input type="text" id="rg_emissor" name="rg_emissor">
</div>
<div class="form-group">
<label for="sexo">Sexo:</label>
<select id="sexo" name="sexo">
<option value="Masculino">Masculino</option>
<option value="Feminino">Feminino</option>
<option value="Não definido">Não definido</option>
</select>
</div>
<div class="form-group">
<label for="estado_civil">Estado Civil:</label>
<select id="estado_civil" name="estado_civil">
<option value="Solteiro(a)">Solteiro(a)</option>
<option value="Casado(a)">Casado(a)</option>
<option value="Viúvo(a)">Viúvo(a)</option>
<option value="União estável">União estável</option>
</select>
</div>
<div class="form-group">
<label for="phone">Telefone:</label>
<input type="text" id="phone" name="phone" >
<label for="whatsapp">WhatsApp:</label>
<input type="checkbox" id="whatsapp" name="whatsapp">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
</div>
<div class="form-group">
<label for="senha_meu_inss">Senha do Meu INSS:</label>
<input type="text" id="senha_meu_inss" name="senha_meu_inss">
</div>
<div class="form-group">
<label for="perfil_instagram">Perfil do Instagram:</label>
<input type="text" id="perfil_instagram" name="perfil_instagram">
</div>
<div class="form-group">
<label for="tipo_logradouro">Tipo de Logradouro:</label>
<select id="tipo_logradouro" name="tipo_logradouro">
<option value="Rua">Rua</option>
<option value="Avenida">Avenida</option>
<option value="Alameda">Alameda</option>
<option value="Travessa">Travessa</option>
<option value="Largo">Largo</option>
<!-- Adicione mais opções conforme necessário -->
</select>
</div>
<div class="form-group">
<label for="endereco">Endereço:</label>
<input type="text" id="endereco" name="endereco">
</div>
<div class="form-group">
<label for="bairro">Bairro:</label>
<input type="text" id="bairro" name="bairro">
</div>
<div class="form-group">
<label for="cidade">Cidade:</label>
<input type="text" id="cidade" name="cidade">
</div>
<div class="form-group">
<label for="estado">Estado:</label>
<select id="estado" name="estado">
<option value="AC">Acre</option>
<option value="AL">Alagoas</option>
<option value="AP">Amapá</option>
<option value="AM">Amazonas</option>
<option value="BA">Bahia</option>
<option value="CE">Ceará</option>
<option value="DF">Distrito Federal</option>
<option value="ES">Espírito Santo</option>
<option value="GO">Goiás</option>
<option value="MA">Maranhão</option>
<option value="MT">Mato Grosso</option>
<option value="MS">Mato Grosso do Sul</option>
<option value="MG">Minas Gerais</option>
<option value="PA">Pará</option>
<option value="PB">Paraíba</option>
<option value="PR">Paraná</option>
<option value="PE">Pernambuco</option>
<option value="PI">Piauí</option>
<option value="RJ">Rio de Janeiro</option>
<option value="RN">Rio Grande do Norte</option>
<option value="RS">Rio Grande do Sul</option>
<option value="RO">Rondônia</option>
<option value="RR">Roraima</option>
<option value="SC">Santa Catarina</option>
<option value="SP">São Paulo</option>
<option value="SE">Sergipe</option>
<option value="TO">Tocantins</option>
</select>
</div>
<div class="form-group">
<label for="cep">CEP:</label>
<input type="text" id="cep" name="cep">
</div>
<div class="form-group">
<label for="certidao_nascimento">Certidão de Nascimento/Casamento:</label>
<input type="text" id="certidao_nascimento" name="certidao_nascimento">
</div>
<div class="form-group">
<label for="pis_pasep">PIS/PASEP:</label>
<input type="text" id="pis_pasep" name="pis_pasep">
</div>
<div class="form-group">
<label for="inss_beneficio">Número do Benefício INSS:</label>
<input type="text" id="inss_beneficio" name="inss_beneficio">
</div>
<div class="form-group">
<label for="filiacao_pai">Filiação (Pai):</label>
<input type="text" id="filiacao_pai" name="filiacao_pai">
</div>
<div class="form-group">
<label for="filiacao_mae">Filiação (Mãe):</label>
<input type="text" id="filiacao_mae" name="filiacao_mae">
</div>
<button type="submit">Cadastrar</button>
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Obter os dados do formulário
$name = $_POST['name'];
$cpf = $_POST['cpf'];
$rg = $_POST['rg'];
$rg_emissor = $_POST['rg_emissor'];
$sexo = $_POST['sexo'];
$estado_civil = $_POST['estado_civil'];
$phone = $_POST['phone'];
$whatsapp = isset($_POST['whatsapp']) ? 1 : 0;
$email = $_POST['email'];
$senha_meu_inss = $_POST['senha_meu_inss'];
$perfil_instagram = $_POST['perfil_instagram'];
$tipo_logradouro = $_POST['tipo_logradouro'];
$endereco = $_POST['endereco'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$cep = $_POST['cep'];
$certidao_nascimento = $_POST['certidao_nascimento'];
$pis_pasep = $_POST['pis_pasep'];
$inss_beneficio = $_POST['inss_beneficio'];
$filiacao_pai = $_POST['filiacao_pai'];
$filiacao_mae = $_POST['filiacao_mae'];
// Conectar ao banco de dados
$mysqli = new mysqli("10.15.0.42", "root", "34641747", "valida");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("INSERT INTO clients (name, cpf, rg, rg_emissor, tipo_logradouro, endereco, bairro, cidade, estado, cep, phone, whatsapp, email, sexo, estado_civil, senha_meu_inss, perfil_instagram, certidao_nascimento, pis_pasep, inss_beneficio, filiacao_pai, filiacao_mae) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
if ($stmt) {
$stmt->bind_param("ssssssssssssssssssssss", $name, $cpf, $rg, $rg_emissor, $tipo_logradouro, $endereco, $bairro, $cidade, $estado, $cep, $phone, $whatsapp, $email, $sexo, $estado_civil, $senha_meu_inss, $perfil_instagram, $certidao_nascimento, $pis_pasep, $inss_beneficio, $filiacao_pai, $filiacao_mae);
if ($stmt->execute()) {
header("Location: index.php?page=client_details&id=$client_id");
} else {
echo "<p>Erro ao cadastrar cliente.</p>";
}
$stmt->close();
} else {
echo "<p>Erro ao preparar a consulta.</p>";
}
$mysqli->close();
}
?>
</div>
</body>
</html>