One Hat Cyber Team
Your IP :
216.73.216.36
Server IP :
162.240.179.46
Server :
Linux vps-14493116.nutrivittasaude.com.br 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
Server Software :
Apache
PHP Version :
8.2.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
lifeprimeti
/
meta.lifeprimeti.com.br
/
public
/
View File Name :
perfil.php
<?php require_once __DIR__ . '/../config/database.php'; requireAuth(); $titulo = 'Meu Perfil'; require_once __DIR__ . '/../includes/header.php'; $userId = (int)$_SESSION['usuario_id']; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['acao'])) { $acao = $_POST['acao']; if ($acao === 'perfil') { $nome = trim($_POST['nome']); $telefone = trim($_POST['telefone']); try { $pdo->prepare("UPDATE usuarios SET nome=?, telefone=? WHERE id=?")->execute([$nome, $telefone, $userId]); $_SESSION['usuario_nome'] = $nome; $_SESSION['success_msg'] = 'Perfil atualizado!'; } catch (PDOException $e) { $_SESSION['error_msg'] = 'Erro: ' . $e->getMessage(); } redirect('perfil.php'); } if ($acao === 'senha') { $senhaAtual = $_POST['senha_atual']; $novaSenha = $_POST['nova_senha']; $confirmar = $_POST['confirmar_senha']; $stmt = $pdo->prepare("SELECT senha FROM usuarios WHERE id=?"); $stmt->execute([$userId]); $u = $stmt->fetch(); if (!password_verify($senhaAtual, $u['senha'])) { $_SESSION['error_msg'] = 'Senha atual incorreta.'; } elseif ($novaSenha !== $confirmar) { $_SESSION['error_msg'] = 'Novas senhas nao conferem.'; } elseif (strlen($novaSenha) < 6) { $_SESSION['error_msg'] = 'Minimo 6 caracteres.'; } else { $pdo->prepare("UPDATE usuarios SET senha=? WHERE id=?")->execute([password_hash($novaSenha, PASSWORD_DEFAULT), $userId]); $_SESSION['success_msg'] = 'Senha alterada!'; } redirect('perfil.php'); } } $stmt = $pdo->prepare("SELECT * FROM usuarios WHERE id = ?"); $stmt->execute([$userId]); $user = $stmt->fetch(); ?> <div class="row g-4"> <div class="col-lg-4 animate-fadeIn"> <div class="card text-center"> <div class="card-body"> <div class="rounded-circle bg-gradient d-flex align-items-center justify-content-center mx-auto mb-3" style="background:var(--gradient-primary);width:96px;height:96px"> <i class="bi bi-person-fill text-white" style="font-size:3rem"></i> </div> <h4 class="fw-bold"><?= sanitize($user['nome']) ?></h4> <p class="text-secondary mb-2"><?= sanitize($user['email']) ?></p> <div><?= getUserTypeLabel($user['tipo']) ?></div> <hr> <div class="text-start small"> <div class="d-flex justify-content-between mb-2"><span class="text-secondary">Membro desde:</span><span><?= formatarData($user['created_at']) ?></span></div> <div class="d-flex justify-content-between"><span class="text-secondary">Telefone:</span><span><?= sanitize($user['telefone'] ?? '-') ?></span></div> </div> </div> </div> </div> <div class="col-lg-8 animate-fadeIn animate-delay-2"> <div class="card mb-4"> <div class="card-header"><h3 class="card-title"><i class="bi bi-person me-2 text-info"></i>Editar Perfil</h3></div> <div class="card-body"> <form method="POST"> <input type="hidden" name="acao" value="perfil"> <div class="mb-3"><label class="form-label">Nome</label><input type="text" name="nome" class="form-control" value="<?= sanitize($user['nome']) ?>" required></div> <div class="mb-3"><label class="form-label">Telefone</label><input type="text" name="telefone" class="form-control mask-telefone" value="<?= sanitize($user['telefone']) ?>"></div> <button type="submit" class="btn btn-primary"><i class="bi bi-save me-1"></i>Atualizar</button> </form> </div> </div> <div class="card"> <div class="card-header"><h3 class="card-title"><i class="bi bi-lock me-2 text-warning"></i>Alterar Senha</h3></div> <div class="card-body"> <form method="POST"> <input type="hidden" name="acao" value="senha"> <div class="mb-3"><label class="form-label">Senha Atual</label><input type="password" name="senha_atual" class="form-control" required></div> <div class="row g-3 mb-3"> <div class="col-md-6"><label class="form-label">Nova Senha</label><input type="password" name="nova_senha" class="form-control" required minlength="6"></div> <div class="col-md-6"><label class="form-label">Confirmar</label><input type="password" name="confirmar_senha" class="form-control" required minlength="6"></div> </div> <button type="submit" class="btn btn-warning"><i class="bi bi-key me-1"></i>Alterar Senha</button> </form> </div> </div> </div> </div> <?php require_once __DIR__ . '/../includes/footer.php'; ?>