home
/
u529748449
/
domains
/
borabilhete.com
/
public_html
/
public
➕ New
📤 Upload
✎ Editing:
login.php
← Back
<?php session_start(); require_once __DIR__ . '/../admin/conexao.php'; if (isset($_SESSION['cliente_id'])) { header("Location: meus_ingressos.php"); exit; } $erro = $_SESSION['login_error'] ?? ''; unset($_SESSION['login_error']); if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['id_evento'], $_POST['setor_id'], $_POST['quantidade']) && !isset($_POST['login'])) { $_SESSION['dados_compra'] = [ 'id_evento' => $_POST['id_evento'], 'setor_id' => $_POST['setor_id'], 'quantidade' => $_POST['quantidade'] ]; } $onlyDigits = fn(string $s) => preg_replace('/\D+/', '', $s); if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['login'], $_POST['senha'])) { $login = trim((string)$_POST['login']); $senha = (string)$_POST['senha']; if ($login === '' || $senha === '') { $erro = 'Informe CPF/e-mail e senha.'; } else { if (filter_var($login, FILTER_VALIDATE_EMAIL)) { $sql = "SELECT id, nome, email, cpf, senha FROM clientes WHERE LOWER(email) = LOWER(?) LIMIT 1"; $st = $conn->prepare($sql); $st->bind_param('s', $login); } elseif (preg_match('/^[\d.\-\s]+$/', $login)) { $cpfDigits = $onlyDigits($login); if (strlen($cpfDigits) !== 11) { $erro = 'CPF inválido.'; } else { $sql = "SELECT id, nome, email, cpf, senha FROM clientes WHERE REPLACE(REPLACE(REPLACE(cpf, '.', ''), '-', ''), ' ', '') = ? LIMIT 1"; $st = $conn->prepare($sql); $st->bind_param('s', $cpfDigits); } } else { $erro = 'Digite um CPF válido (somente números, ".", "-" e espaço) ou um e-mail válido.'; } if (empty($erro) && isset($st)) { $st->execute(); $res = $st->get_result(); $cli = $res->fetch_assoc(); $st->close(); if ($cli && password_verify($senha, $cli['senha'])) { $_SESSION['cliente_id'] = (int)$cli['id']; $_SESSION['cliente_nome'] = $cli['nome']; header("Location: " . (!empty($_SESSION['dados_compra']) ? "comprar.php" : "meus_ingressos.php")); exit; } else { $erro = 'CPF/e-mail ou senha incorretos.'; } } } } ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>Login - Minha Conta</title> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="css/baseingressos.css"> <link rel="stylesheet" href="css/header.css"> <link rel="stylesheet" href="css/footer.css"> <link rel="stylesheet" href="css/login.css?v=4"> </head> <body> <?php include __DIR__ . '/includes/header.php'; ?> <main class="page-login" role="main"> <div class="container-login" role="region" aria-labelledby="titulo-login"> <h2 id="titulo-login">Entrar</h2> <?php if (!empty($erro)): ?> <div class="login-alert" role="alert"> <i class="fa-solid fa-circle-exclamation" aria-hidden="true"></i> <?= htmlspecialchars($erro) ?> </div> <?php endif; ?> <form action="" method="POST" novalidate class="login-form"> <div class="form-group"> <label for="login">E-mail ou CPF:</label> <input type="text" id="login" name="login" required inputmode="text" autocomplete="username" autocapitalize="none" autocorrect="off" spellcheck="false" enterkeyhint="go" placeholder="Digite seu CPF ou e-mail" value="<?= htmlspecialchars($_POST['login'] ?? '') ?>" > </div> <div class="form-group has-icon"> <label for="senha">Senha:</label> <input type="password" id="senha" name="senha" required minlength="6" autocomplete="current-password" placeholder="Digite sua senha" > <button type="button" class="toggle-pass" aria-label="Mostrar senha" title="Mostrar senha"> <i class="fa-solid fa-eye" aria-hidden="true"></i> </button> </div> <button type="submit" class="btn-submit">Entrar</button> </form> <div class="links-stack"> <p class="cadastro-link">Esqueceu sua senha? <a class="link" href="esqueci_senha.php">Clique aqui</a></p> <p class="cadastro-link">Ainda não tem conta? <br> <a class="link" href="cadastro.php">Cadastre-se aqui</a></p> </div> <a class="btn-producer" href="../admin/login_produtor.php"> <i class="fa-solid fa-user-tie" aria-hidden="true"></i> <span>Sou produtor</span> </a> </div> </main> <?php include __DIR__ . '/footer.php'; ?> <script> // Mostrar/ocultar senha no mobile (function () { const btn = document.querySelector('.toggle-pass'); if (!btn) return; const input = document.getElementById('senha'); btn.addEventListener('click', function () { const isPwd = input.type === 'password'; input.type = isPwd ? 'text' : 'password'; btn.setAttribute('aria-label', isPwd ? 'Ocultar senha' : 'Mostrar senha'); btn.setAttribute('title', isPwd ? 'Ocultar senha' : 'Mostrar senha'); btn.querySelector('i').classList.toggle('fa-eye'); btn.querySelector('i').classList.toggle('fa-eye-slash'); input.focus(); }); })(); </script> </body> </html>
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel