Todas Atividades
Atualizada automaticamente
- Hoje
-
<?php include "config.php"; // Verifica o login if(!isset($_SESSION['uname'])){ header('Location: index.php'); } // Termina a sessao if(isset($_POST['but_logout'])){ session_destroy(); header('Location: index.php'); } ?> <select name="comando" id="idcomando"></p> <?php $sql_query = "select id_comando, comando from comando"; $result = mysqli_query($con,$sql_query); while ($row = mysqli_fetch_array($result)) { echo "<option value = ".$row['id_comando'] . ">" .$row['comando']. "</option>"; } ?> </select> Até aqui está tudo bem, faz a pesquisa na base de dados e aparece os resultados corretos. A questão é ao selecionar um valor desta listbox, ele tem que fazer uma pesquisa para atualizar a segunda list box. A 1º listbox só faz a pesquisa 1 vez o objetivo é consoante o valor da primeira listbox1 atualizar (pesquisar) os valore para a list2 ou seja carrega a listbox1 quando abre a pagina depois imaginemos que escolhe a opção "sala na listbox1" tem que fazer uma nova pesquisa (select id_divisao, divisao from divisao where comando = 'sala') e atualiza a segunda listbox2 com os dados recolhidos da base de dados (divisao)
-
Conversando com o Copilot, ele descobriu que a mensagem de erro não vem do Microsoft Access, mas do aplicativo "Sociedade Harmonia Jaguarão". Eu nunca usei o modo SQL nas consultas, mas eu acredito que o seu ponto de partida deveria ser lá, e não dentro de um aplicativo de terceiros.
-
James Rowan se registrou na comunidade
-
Hr Gurus se registrou na comunidade
-
What is the current outlook for the Building Automation Systems market in Brazil?
pergunta respondeu ao Tomas Gil de Jack Rubio em Outros Softwares
The building automation systems market in Brazil is on a steady growth path, mainly because of rising demand for energy efficiency, sustainability, and improved security. With stricter environmental regulations and the push to lower operating costs, more residential, commercial, and industrial projects are adopting smart technologies. Looking ahead, the biggest opportunities seem to be in commercial buildings and corporate projects. As companies invest in digitalization and integrated smart solutions, these systems will become an important factor for attracting investment and staying competitive in the market. -
The building automation systems market in Brazil is experiencing steady growth, driven by increasing demand for energy efficiency, sustainability, and security across residential, commercial, and industrial projects. Factors such as the adoption of smart technologies, environmental regulations, and the need to reduce operating costs are strengthening the sector’s expansion. In my opinion, the strongest opportunities will be in commercial buildings and corporate projects, where digitalization and the integration of smart solutions will be key to attracting investment and enhancing competitiveness in the coming years.
-
Tomas Gil se registrou na comunidade
-
Careerline Courses And Education Pty Ltd se registrou na comunidade
-
Jack Rubio se registrou na comunidade
-
Javed Khan se registrou na comunidade
-
The smart TV market has grown rapidly over the past few years, driven by increased demand for streaming, voice assistants, and integrated home entertainment. In 2025, we’re seeing better tech—AI features, 8K resolution, and app ecosystems—but also signs of market saturation in some regions. Do you think the smart TV market will keep booming, or are we starting to see a plateau in growth and innovation?
-
Assam Valley School se registrou na comunidade
- Yesterday
-
Eu coloquei o vetor para explicar o problema do combo box. Para tirar o vetor do banco de dados a sequência é mais ou menos assim, você precisa estar familiarizado com o MySQL. Fase 1: CREATE TABLE comodos ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(50), item VARCHAR(100) ); Fase 2: INSERT INTO comodos (nome, item) VALUES ('cozinha', '1 janela grande'), ('cozinha', '2 janelas pequenas'), ('cozinha', '3 luzes'), ('cozinha', '4 tomadas'), ('sala', NULL), ('quarto', NULL); Fase 3: <?php $pdo = new PDO('mysql:host=localhost;dbname=seubanco', 'usuario', 'senha'); // Consulta agrupando os itens por cômodo $sql = "SELECT nome, item FROM comodos"; $stmt = $pdo->query($sql); $vetor = []; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $comodo = $row['nome']; $item = $row['item']; // Se o cômodo ainda não foi adicionado ao vetor if (!array_key_exists($comodo, $vetor)) { $vetor[$comodo] = []; } // Adiciona o item ou 'nada' se for nulo if ($item !== null) { $vetor[$comodo][] = $item; } } // Garante que cômodos sem itens apareçam com 'nada' foreach ($vetor as $comodo => $itens) { if (empty($itens)) { $vetor[$comodo][] = 'nada'; } } // Transforma em estrutura desejada $resultado = []; foreach ($vetor as $comodo => $itens) { $resultado[] = [$comodo => $itens]; } print_r($resultado); ?>
-
Era mesmo isso. só que na parte public $vetor=[ ['cozinha'=>['1 janela grande','2 janelas pequenas','3 luzes','4 tomadas']], ['sala'=>['nada']], ['quarto'=>['nada']] ]; as opções são introduzias manualmente e eu queria que fosse atraves de uma consulta $sql_query = "select id_comando, comando from comando"; Irá apareces o que eu tenho na base de dados (que sera cozinha, sala, quarto) Só depois ao selecionar por exemplo sala faz outro pesquisa $sql_query = "select id_divisao, divisao from from divisao where comando = a escolha "; Não sei se consegui explicar bem
- Última semana
-
Hellstar Clothing alterou sua foto pessoal
-
envio de formulário de cadastro com redirecionamento
pergunta respondeu ao Siames de Frank K Hosaka em Tutoriais & Dicas - PHP
Você precisa tirar duas linhas do seu código: <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; // ---------------------> tira isso use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; // Certifique-se de que o autoload está correto $mail = new PHPMailer(true); try { // Configurações do servidor SMTP do Gmail $mail->SMTPDebug = SMTP::DEBUG_SERVER; // ---------------------> tira isso $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = '[email protected]'; // Seu e-mail Gmail $mail->Password = 'abcd abcd abcd abcd'; // senha de app $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $mail->Port = 465; // Remetente e destinatário $mail->setFrom('[email protected]', 'Frank K Hosaka'); $mail->addAddress('[email protected]', 'Frank K Hosaka'); // Conteúdo do e-mail $mail->CharSet='UTF-8'; $mail->Encoding='base64'; $mail->Subject = 'Teste de envio via PHPMailer'; $mail->Body = 'Olá Frank, este é um teste de envio usando PHPMailer'; $mail->send(); echo 'Mensagem enviada com sucesso!'; } catch (Exception $e) { echo "Erro ao enviar: {$mail->ErrorInfo}"; } ?> -
rick Rode começou a seguir Detecção de manutenção em sensores
-
Detecção de manutenção em sensores
pergunta respondeu ao larissa de rick Rode em Tutoriais & Dicas - C, C++
Este artigo explora o conceito, os métodos, os benefícios e os desafios associados à detecção de manutenção em sensores, com base em informações recentes e confiáveis. -
Digital Folks alterou sua foto pessoal
-
<?php Class Teste { public $ambiente=[], $detalhe=[], $selecionado; public $vetor=[ ['cozinha'=>['1 janela grande','2 janelas pequenas','3 luzes','4 tomadas']], ['sala'=>['nada']], ['quarto'=>['nada']] ]; function inicio() { $this->ambiente=[]; foreach($this->vetor as $key => $subvetor) { foreach($subvetor as $ambiente => $detalhe) { $this->ambiente[]=$ambiente; } } $this->detalhe=$this->vetor[0]['cozinha']; } function selecionado($ambiente) { $this->inicio(); $this->selecionado=$ambiente; $this->detalhe=[]; foreach($this->vetor as $item){ if(array_key_exists($ambiente,$item)) { $this->detalhe=$item[$ambiente]; break; } } } } if(isset($_GET['rota'])) { $rota=$_GET['rota']; $teste=new Teste(); $teste->selecionado($rota); } else { $teste=new Teste(); $teste->inicio(); } ?> <select name="ambiente" onchange="location.replace('?rota='+this.value)"> <?php foreach($teste->ambiente as $ambiente) : ?> <option <?= $teste->selecionado == $ambiente ? 'selected' : '' ?>> <?=$ambiente?> </option> <?php endforeach; ?> </select> <select name="detalhe"> <?php foreach($teste->detalhe as $detalhe) : ?> <option><?=$detalhe?></option> <?php endforeach; ?> </select>
-
Só faltou o trecho da request assíncrona (tb conhecido como AJAX) Pode-se resolver com fetch (nativo do js) ou usando a lib axios, entre outras maneiras
-
<?php $vetor=[ ['cozinha'=>['1 janela grande','2 janelas pequenas','3 luzes','4 tomadas']], ['sala'=>['nada']], ['quarto'=>['nada']] ]; ?> <select id="ambienteSelect"> <option value="">Selecione um ambiente</option> </select> <select id="detalhesSelect"> <option value="">Selecione um detalhe</option> </select> <script> const dados = <?php echo json_encode($vetor); ?> </script> <script> const ambienteSelect = document.getElementById('ambienteSelect'); const detalhesSelect = document.getElementById('detalhesSelect'); // Preenche o primeiro select com os ambientes dados.forEach(item => { const ambiente = Object.keys(item)[0]; const option = document.createElement('option'); option.value = ambiente; option.textContent = ambiente.charAt(0).toUpperCase() + ambiente.slice(1); ambienteSelect.appendChild(option); }); // Atualiza o segundo select com base na escolha do primeiro ambienteSelect.addEventListener('change', () => { const ambienteEscolhido = ambienteSelect.value; detalhesSelect.innerHTML = '<option value="">Selecione um detalhe</option>'; const ambienteData = dados.find(item => item[ambienteEscolhido]); if (ambienteData) { ambienteData[ambienteEscolhido].forEach(detalhe => { const option = document.createElement('option'); option.value = detalhe; option.textContent = detalhe; detalhesSelect.appendChild(option); }); } }); </script>
-
Eu criei a tblivroentrada (id - auto-increment, primary, xml - text), copiei um xml da tela do navegador e colei no campo xml. O resultado foi um desastre. O pior é que não sabia como ludibriar o PHP para ler um registro MySQL como se fosse um arquivo xml, e foi aí que o Copilot me ensinou o comando simplexml_load_string: <?php require 'config.php'; if (isset($_FILES['arquivoXml']) && $_FILES['arquivoXml']['error'] === UPLOAD_ERR_OK) { $caminhoTemporario = $_FILES['arquivoXml']['tmp_name']; $xml = simplexml_load_file($caminhoTemporario); $xmlString = $xml->asXML(); (new Conn)->update("tblivroentrada set xml='$xmlString' where id=1"); $registro=(new Conn)->select("* from tblivroentrada where id=1")[0]->xml; $novoXml = simplexml_load_string($registro); echo($novoXml->NFe->infNFe['Id']); unset($_POST['arquivoXML']); } ?> <form method="post" enctype="multipart/form-data"> <label>Selecione o arquivo XML:</label> <input type="file" name="arquivoXml"> <button type="submit">Enviar</button> </form>
-
mas tem ideia como se faz?
-
airlineterminal alterou sua foto pessoal
-
Resolve-se com javascript e AJAX
-
kammysammy começou a seguir Atualizar campo atravez list box
-
Eu tenho o seguinte código que esta funcionar basicamente vai a base de dados e carrega todos os comandos disponíveis que eu tenho, por exemplo 1-Cozina, 2-Sala, 3-Quarto o que eu pretendo é criar outra listbox onde ele ira fazer a pesquisa do que esta selecionado na list1 e atualizar a list2 por exemplo list1 1-Cozinha na list2 deverá aparecer 01-Janela Grande, 02-Janela pequena, 03-Luz, 04-Tomadas os números seriam obtidos através da tabela divisao, id_divisao e nome <?php include "config.php"; // Check user login or not if(!isset($_SESSION['uname'])){ header('Location: index.php'); } // logout if(isset($_POST['but_logout'])){ session_destroy(); header('Location: index.php'); } ?> <!DOCTYPE html> <html lang="pt"> <html> <head> <meta charset="utf-8"> <title>Casa </title> <link href="menu.css" rel="stylesheet" type="text/css"> <meta charset="utf-8" </head> <body> <table border="0"> <!--<table border="0" width="100%" cellpadding="1">--> <tr> <th> <div class="menu"> <a href="home.php" class="butaomenu">Principal</a> <a href="relatorio.php" class="butaomenu">Relatório</a> <a href="consulta.php" class="butaomenu">Piscina</a> <p class="textologin">Login : <?php echo($_SESSION['uname']) ?> </p> </div> </th> <th> <div class="fundo"> <p class="textologin">Luzes</p> <p style="text-align: left"><select name="comando" id="idcomando"></p> <?php $sql_query = "select id_comando, comando from comando"; $result = mysqli_query($con,$sql_query); while ($row = mysqli_fetch_array($result)) { echo "<option value = ".$row['id_comando'] . ">" .$row['comando']. "</option>"; } ?> </select> </div> </th> </tr> </table> </body> </html>
- Mais Cedo
-
Game Polytrack começou a seguir Alterando Fontes Do Textarea
-
Hole io Online começou a seguir É possível criar objetos literais no php?
-
Brown Emma começou a seguir Postgresql Anonymizer
-
Agnal John alterou sua foto pessoal
-
faresky trip alterou sua foto pessoal
-
iNosuKe 么 alterou sua foto pessoal
-
Essa é uma pergunta difícil de responder, o Livewire é dividido em duas partes, o Componente e o Blade. O Blade começa com um <div> e termina com um </div>, logo o único lugar para colocar um código JavaScript é dentro desse marcador. A minha intuição me disse que isso vai dar dor de cabeça, assim usei o método da tentativa e erro. Eu embuti o código JavaScript dentro do componente HTML, assim: arquivo resources > views > livewire > pagar.blade.php (parcial) <div class="w-[180px] truncate text-gray-500" onclick="this.classList.toggle('truncate')"> {{ $pendencia['lcto'].":".$pendencia['hist']}} </div> Tentei usar o comando wire:click, mas isso acabou expandindo todas as linhas, quando eu queria expandir apenas uma linha, a que foi clicado. Esse truque deu certo, e o DevTools do Chrome não apontou nenhum erro.
-
Cynthia Gormley alterou sua foto pessoal
-
O meu primeiro roteador só funcionava com um argumento, com a ajuda do Copilot mudei para ele suportar mais de um argumento. Mas quando um dos argumentos tinha um ponto no meio do caminho, o roteador separava o que era um valor em vários argumentos. O Copilot fez auditoria no meu roteador, e descobriu que usei o comando $_GET indevidamente, sem uma chave. O meu roteador é assim: <?php spl_autoload_register(fn ($class) => require str_replace('\\', DIRECTORY_SEPARATOR, strtolower($class)) . '.php'); $rota = 'login_login'; $parametros = []; if ($_GET) { $chaveCompleta = key($_GET); // Ex: Login_menu_param1_param2_param3 if (strpos($chaveCompleta, '_') === false) { exit; // proteção contra valores inválidos } $rota=$chaveCompleta; } $segmentos = explode('_', $rota); $nomeControle = $segmentos[0]; $metodo = $segmentos[1]; $parametros = array_slice($segmentos, 2); $controle = new $nomeControle(); call_user_func_array([$controle, $metodo], $parametros); e o Copilot disse que o correto é assim: <?php spl_autoload_register(fn ($class) => require str_replace('\\', DIRECTORY_SEPARATOR, strtolower($class)) . '.php'); $rota = $_GET['rota'] ?? 'login_login'; $segmentos = explode('_', $rota); $nomeControle = $segmentos[0]; $metodo = $segmentos[1]; $parametros = array_slice($segmentos, 2); $controle = new $nomeControle(); call_user_func_array([$controle, $metodo], $parametros); Ainda não testei a nova sugestão do Copilot, estou tentando me recompor. Que vergonha!
-
Eu estava me referindo a esse código: <?php spl_autoload_register(fn ($class) => require str_replace('\\', DIRECTORY_SEPARATOR, strtolower($class)) . '.php'); $rota = 'login_login'; $parametros = []; if ($_GET) { $chaveCompleta = key($_GET); // Ex: Login_menu_param1_param2_param3 if (strpos($chaveCompleta, '_') === false) { exit; // proteção contra valores inválidos } $rota=$chaveCompleta; } $segmentos = explode('_', $rota); $nomeControle = $segmentos[0]; $metodo = $segmentos[1]; $parametros = array_slice($segmentos, 2); $controle = new $nomeControle(); call_user_func_array([$controle, $metodo], $parametros); mas o Copilot disse que o código está equivocado, eu não posso usar diretamente a variável $_GET sem nenhuma chave.
-
Eu ainda não tenho a menor noção sobre segurança na programação, o máximo que eu consegui foi criar a seguinte rotina no arquivo menuView.php que é invocado pelos outros arquivos: <?php if(!isset($_SESSION['id'])) {header('Location: ?Login_login');} ?> O Copilot comentou que ele parece confuso, ele esperava coisa do tipo <?php if(!isset($_SESSION['id'])) {header('Location: login.php');} ?> Eu comentei que isso não iria funcionar no meu caso. No meu caso, iria funcionar se fosse assim: <?php if(!isset($_SESSION['id'])) {header('Location: index.php');} ?> Mas eu acredito que o nível de segurança é o mesmo.
-
Você mencionou apenas “O roteador” — está se referindo a um roteador de rede no sentido geral, ou a um modelo/problema específico que quer discutir (por exemplo, configuração, senha, alcance, falhas)
-
<details> é uma excelente ferramenta para mostrar os detalhes de um item, desde que você não invente de colocar um monte de coisas dentro do <summary>, foi o que eu fiz, assim precisei abandonar essa ferramenta para criar a seguinte gambiarra: <script src="https://cdn.tailwindcss.com"></script> <script> function exibir(element) { const filhos=element.querySelectorAll("div") filhos.forEach(filho => { filho.classList.toggle("hidden"); }) } </script> <?php $historico="Detalhe da lista"; ?> <div class="w-[200px] m-0 m-auto" onclick="exibir(this)"> Lista <div class="hidden"><?=$historico?></div> <div class="hidden"><?=$historico?></div> </div> O Copilot é uma excelente ferramenta para fazer gambiarra.
-
Faz muito tempo que tenho pensado no meu projeto orçamento dentro de um celular. O problema é que a tela do celular é bem pequena, mal dá para colocar duas colunas, no modo retrato. No Galaxy Note 10, eu consegui <div class="w-[630px]"></div> no modo paisagem e é baseado nesse limite é que estou fazendo o meu projeto. O problema é que não dá para exibir toda a informação numa só coluna, posso mostrar alguma coisa usando o CSS truncate do Tailwind. Mas e se o usuário quiser ver tudo? Desde 2020 é que estou quebrando a cabeça, só hoje é que surgiu essa ideia: <script src="https://cdn.tailwindcss.com"></script> <script> function expandir() { const descricao = document.getElementById("descricao"); descricao.classList.toggle("truncate"); } </script> <?php $historico="Vamos ver se isso funciona"; ?> <div class="w-[100px] m-0 m-auto"> <div class="w-[100px] odd:bg-gray-200">Teste</div> <div id="descricao" class="w-[100px] truncate" onclick="expandir()"><?=$historico?></div> <div class="w-[100px] odd:bg-gray-200">Teste</div> </div> / ==================== / A ideia é péssima, coloquei o código JavaScript no config.php, e em outro código tentei invocar a função expandir. Não deu certo. O código só funciona se existir apenas um único <div> com o id="descricao". Isso é bem constrangedor, o Copilot corrigiu o código: <script src="https://cdn.tailwindcss.com"></script> <script> function expandir(element) { element.classList.toggle("truncate"); } </script> <?php $historico="Vamos ver se isso funciona"; ?> <div class="w-[100px] m-0 m-auto"> <div class="w-[100px] odd:bg-gray-200">Teste</div> <div class="w-[100px] truncate" onclick="expandir(this)"><?=$historico?></div> <div class="w-[100px] odd:bg-gray-200">Teste</div> </div> /===== Outra ideia péssima, eu tive que tirar a função expandir( ) do JavaScript do config.php e colocar em cada código que precisava dessa função. Usar o config.php pareceu uma boa ideia, mas ele acabou aparecendo no cabeçalho de um arquivo csv e a Bling se recusou a receber por estar fora do layout esperado.
-
Zervan Engineering Solutions alterou sua foto pessoal
-
Chrome Hearts usa alterou sua foto pessoal
-
envio de formulário de cadastro com redirecionamento
uma questão postou Siames Tutoriais & Dicas - PHP
Pessoal boa tarde. Não entendo muito de PHp, vou buscando e configurando. Peguei um script onde faço o cadastro e ele envia um e-mail de confirmação e recarrega a tela. mas quando recarrega vem isso na tela do site. 2025-08-04 15:01:02 SERVER -> CLIENT: 220 ESMTP smtp.hostinger.com 2025-08-04 15:01:02 CLIENT -> SERVER: EHLO meucarrobrasil.com.br 2025-08-04 15:01:02 SERVER -> CLIENT: 250-smtp.hostinger.com250-PIPELINING250-SIZE 48811212250-ETRN250-AUTH PLAIN LOGIN250-ENHANCEDSTATUSCODES250-8BITMIME250-DSN250 CHUNKING 2025-08-04 15:01:02 CLIENT -> SERVER: AUTH LOGIN 2025-08-04 15:01:02 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2025-08-04 15:01:02 CLIENT -> SERVER: [credentials hidden] 2025-08-04 15:01:02 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2025-08-04 15:01:02 CLIENT -> SERVER: [credentials hidden] 2025-08-04 15:01:02 SERVER -> CLIENT: 235 2.7.0 Authentication successful 2025-08-04 15:01:02 CLIENT -> SERVER: MAIL FROM:<[email protected]> 2025-08-04 15:01:02 SERVER -> CLIENT: 250 2.1.0 Ok 2025-08-04 15:01:02 CLIENT -> SERVER: RCPT TO:<[email protected]> 2025-08-04 15:01:02 SERVER -> CLIENT: 250 2.1.5 Ok 2025-08-04 15:01:02 CLIENT -> SERVER: DATA 2025-08-04 15:01:02 SERVER -> CLIENT: 354 End data with <CR><LF>.<CR><LF> 2025-08-04 15:01:02 CLIENT -> SERVER: Date: Mon, 4 Aug 2025 12:01:02 -0300 2025-08-04 15:01:02 CLIENT -> SERVER: To: "[email protected]" <[email protected]> 2025-08-04 15:01:02 CLIENT -> SERVER: From: "[email protected]" <[email protected]> 2025-08-04 15:01:02 CLIENT -> SERVER: Reply-To: "[email protected]" <[email protected]> 2025-08-04 15:01:02 CLIENT -> SERVER: Subject: =?iso-8859-1?Q?Confirma=E7=E3o_de_Cadastro_de_Vendedor?= 2025-08-04 15:01:02 CLIENT -> SERVER: Message-ID: <[email protected]> 2025-08-04 15:01:02 CLIENT -> SERVER: X-Mailer: PHPMailer 6.9.1 (https://github.com/PHPMailer/PHPMailer) 2025-08-04 15:01:02 CLIENT -> SERVER: MIME-Version: 1.0 2025-08-04 15:01:02 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1 2025-08-04 15:01:02 CLIENT -> SERVER: Content-Transfer-Encoding: 8bit 2025-08-04 15:01:02 CLIENT -> SERVER: 2025-08-04 15:01:02 CLIENT -> SERVER: 2025-08-04 15:01:02 CLIENT -> SERVER: Obrigado por ser cadastrar!<br> 2025-08-04 15:01:02 2025-08-04 15:01:02 CLIENT -> SERVER: Clique neste link para ativar sua conta:<br> 2025-08-04 15:01:02 CLIENT -> SERVER: <a href="http://meucarrobrasil.com.br/[email protected]&token=4fffd328c87b1fcd9addaac8c67d6f1a">http://meucarrobrasil.com.br/[email protected]&token=4fffd328c87b1fcd9addaac8c67d6f1a</a> 2025-08-04 15:01:02 CLIENT -> SERVER: 2025-08-04 15:01:02 CLIENT -> SERVER: . 2025-08-04 15:01:04 SERVER -> CLIENT: 250 2.0.0 Ok: queued as 4bwfrZ6YL9z5Z5qk 2025-08-04 15:01:04 CLIENT -> SERVER: QUIT 2025-08-04 15:01:04 SERVER -> CLIENT: 221 2.0.0 Bye O e-mail vem certo, mas não sei como oculto isso vou colocar o script dessa tela. <?php require_once('header.php'); use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; ?> <?php $statement = $pdo->prepare("SELECT * FROM tbl_settings WHERE id=1"); $statement->execute(); $result = $statement->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { $banner_registration = $row['banner_registration']; } $statement = $pdo->prepare("SELECT * FROM tbl_settings WHERE id=1"); $statement->execute(); $result = $statement->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { $recaptcha_site_key = $row['recaptcha_site_key']; $recaptcha_status = $row['recaptcha_status']; } ?> <?php if (isset($_POST['form1'])) { $valid = 1; if(empty($_POST['seller_name'])) { $valid = 0; $error_message .= "O Nome não pode estar vazio!\\n"; } if(empty($_POST['seller_email'])) { $valid = 0; $error_message .= "O E-mail não pode estar vazio!\\n"; } else { if (filter_var($_POST['seller_email'], FILTER_VALIDATE_EMAIL) === false) { $valid = 0; $error_message .= 'Insira um E-mail válido.\\n'; } else { $statement = $pdo->prepare("SELECT * FROM tbl_seller WHERE seller_email=?"); $statement->execute(array($_POST['seller_email'])); $total = $statement->rowCount(); if($total) { $valid = 0; $error_message .= 'O E-mail informado já está cadastrado em nosso sistema!\\n'; } } } if(empty($_POST['seller_address'])) { $valid = 0; $error_message .= "O Endereço não pode estar vazio!\\n"; } if(empty($_POST['seller_city'])) { $valid = 0; $error_message .= "A Cidade não pode estar vazio!\\n"; } if(empty($_POST['seller_country'])) { $valid = 0; $error_message .= "O País não pode estar vazio!\\n"; } if( empty($_POST['seller_password']) || empty($_POST['seller_re_password']) ) { $valid = 0; $error_message .= "A Senha não pode estar vazia!\\n"; } if( !empty($_POST['seller_password']) && !empty($_POST['seller_re_password']) ) { if($_POST['seller_password'] != $_POST['seller_re_password']) { $valid = 0; $error_message .= "As Senhas não Conferem!\\n"; } } if($recaptcha_status == 'On'): $g_recaptcha = $_POST['g-recaptcha-response']; if($g_recaptcha == '') { $valid = 0; $error_message .= 'Verifique o Código!\\n'; } endif; if($valid == 1) { $token = md5(uniqid(rand(), true)); $now = time(); // saving into the database $statement = $pdo->prepare("INSERT INTO tbl_seller (seller_name,seller_email,seller_phone,seller_address, seller_city,seller_state,seller_country,seller_password,seller_token,seller_time,seller_access) VALUES (?,?,?,?,?,?,?,?,?,?,?)"); $statement->execute(array($_POST['seller_name'],$_POST['seller_email'],$_POST['seller_phone'],nl2br($_POST['seller_address']),$_POST['seller_city'],$_POST['seller_state'],$_POST['seller_country'],md5($_POST['seller_password']),$token,$now,0)); $verify_link = BASE_URL.'verify.php?email='.$_POST['seller_email'].'&token='.$token; $msg = ' Obrigado por ser cadastrar!<br> Sua conta foi criada, você pode fazer login com as suas credenciais depois de ativar sua conta clicando no link abaixo.<br><br> Clique neste link para ativar sua conta:<br> <a href="'.$verify_link.'">'.$verify_link.'</a>'; $statement = $pdo->prepare("SELECT * FROM tbl_setting_email WHERE id=1"); $statement->execute(); $result = $statement->fetchAll(); foreach ($result as $row) { $send_email_from = $row['send_email_from']; $receive_email_to = $row['receive_email_to']; $smtp_host = $row['smtp_host']; $smtp_port = $row['smtp_port']; $smtp_username = $row['smtp_username']; $smtp_password = $row['smtp_password']; } //Load Composer's autoloader require 'vendor/autoload.php'; //Create an instance; passing `true` enables exceptions $mail = new PHPMailer(true); try { //Server settings $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output $mail->isSMTP(); //Send using SMTP $mail->Host = $smtp_host; //Set the SMTP server to send through $mail->SMTPAuth = true; //Enable SMTP authentication $mail->Username = $smtp_username; //SMTP username $mail->Password = $smtp_password; //SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption $mail->Port = $smtp_port; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS` //Recipients $mail->setFrom($send_email_from, $send_email_from); $mail->addAddress($_POST['seller_email'], $_POST['seller_email']); //Add a recipient $mail->addReplyTo($receive_email_to, $receive_email_to); //Content $mail->isHTML(true); //Set email format to HTML $mail->Subject = mb_convert_encoding('Confirmação de Cadastro de Vendedor', 'ISO-8859-1', 'UTF-8'); $mail->Body = mb_convert_encoding($msg, 'ISO-8859-1', 'UTF-8'); $mail->send(); } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } unset($_POST['seller_name']); unset($_POST['seller_email']); unset($_POST['seller_phone']); unset($_POST['seller_address']); unset($_POST['seller_city']); unset($_POST['seller_state']); unset($_POST['seller_country']); $success_message = 'Seu Cadastro está concluído. Acesse seu E-mail para confirmar seu Cadastro.'; } } ?> <div class="banner-slider" style="background-image: url(<?php echo BASE_URL.'assets/uploads/'.$banner_registration; ?>)"> <div class="bg"></div> <div class="bannder-table"> <div class="banner-text"> <h1>Cadastro de Vendedor</h1> </div> </div> </div> <div class="login-area bg-area"> <div class="container"> <div class="row"> <div class="col-md-offset-4 col-md-5"> <?php if($error_message != '') { echo "<script>alert('".$error_message."')</script>"; } if($success_message != '') { echo "<script>alert('".$success_message."')</script>"; } ?> <div class="login-form"> <form action="" method="post"> <div class="form-row"> <div class="form-group"> <label for="">Nome Completo ou Nome da Garagem*</label> <input type="text" class="form-control" name="seller_name" placeholder="Nome Completo" value="<?php if(isset($_POST['seller_name'])){echo $_POST['seller_name'];} ?>"> </div> <div class="form-group"> <label for="">E-mail*</label> <input type="email" class="form-control" name="seller_email" placeholder="Endereço de E-mail" value="<?php if(isset($_POST['seller_email'])){echo $_POST['seller_email'];} ?>"> </div> <div class="form-group"> <label for="">Telefone (com DDD)*</label> <input type="text" class="form-control" name="seller_phone" placeholder="Seu Whatsapp" value="<?php if(isset($_POST['seller_phone'])){echo $_POST['seller_phone'];} ?>"> </div> <div class="form-group"> <label for="">Endereço*</label> <textarea name="seller_address" class="form-control" cols="30" rows="10" placeholder="Seu Endereço/Endereço de sua Loja" style="height:120px;"><?php if(isset($_POST['seller_address'])){echo $_POST['seller_address'];} ?></textarea> </div> <div class="form-group"> <label for="">País*</label> <input type="text" class="form-control" name="seller_country" placeholder="País" value="<?php if(isset($_POST['seller_country'])){echo $_POST['seller_country'];}else{echo "Brasil";} ?>" readonly> </div> <div class="form-group"> <label for="">Estado*</label> <select id="seller_state" name="seller_state" class="form-control" onchange="searchCities(this.value)"> <option value="AC" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='AC') {echo 'selected';}} ?>>Acre</option> <option value="AL" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='AL') {echo 'selected';}} ?>>Alagoas</option> <option value="AP" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='AP') {echo 'selected';}} ?>>Amapá</option> <option value="AM" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='AM') {echo 'selected';}} ?>>Amazonas</option> <option value="BA" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='BA') {echo 'selected';}} ?>>Bahia</option> <option value="CE" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='CE') {echo 'selected';}} ?>>Ceará</option> <option value="DF" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='DF') {echo 'selected';}} ?>>Distrito Federal</option> <option value="ES" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='ES') {echo 'selected';}} ?>>Espírito Santo</option> <option value="GO" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='GO') {echo 'selected';}} ?>>Goiás</option> <option value="MA" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='MA') {echo 'selected';}} ?>>Maranhão</option> <option value="MT" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='MT') {echo 'selected';}} ?>>Mato Grosso</option> <option value="MS" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='MS') {echo 'selected';}} ?>>Mato Grosso do Sul</option> <option value="MG" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='MG') {echo 'selected';}} ?>>Minas Gerais</option> <option value="PA" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='PA') {echo 'selected';}} ?>>Pará</option> <option value="PB" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='PB') {echo 'selected';}} ?>>Paraíba</option> <option value="PR" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='PR') {echo 'selected';}} ?>>Paraná</option> <option value="PE" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='PE') {echo 'selected';}} ?>>Pernambuco</option> <option value="PI" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='PI') {echo 'selected';}} ?>>Piauí</option> <option value="RJ" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='RJ') {echo 'selected';}} ?>>Rio de Janeiro</option> <option value="RN" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='RN') {echo 'selected';}} ?>>Rio Grande do Norte</option> <option value="RS" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='RS') {echo 'selected';}} ?>>Rio Grande do Sul</option> <option value="RO" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='RO') {echo 'selected';}} ?>>Rondônia</option> <option value="RR" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='RR') {echo 'selected';}} ?>>Roraima</option> <option value="SC" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='SC') {echo 'selected';}} ?>>Santa Catarina</option> <option value="SP" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='SP') {echo 'selected';}} ?>>São Paulo</option> <option value="SE" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='SE') {echo 'selected';}} ?>>Sergipe</option> <option value="TO" <?php if(isset($_POST['seller_state'])) {if($_POST['seller_state']=='TO') {echo 'selected';}} ?>>Tocantins</option> </select> </div> <div class="form-group"> <label for="">Cidade*</label> <select id="seller_city" name="seller_city" class="form-control" > <option value=null selected>Selecione a Cidade</option> </select> </div> <div class="form-group"> <label for="">Senha*</label> <input type="password" class="form-control" name="seller_password" placeholder="Senha"> </div> <div class="form-group"> <label for="">Repita a Senha*</label> <input type="password" class="form-control" name="seller_re_password" placeholder="Repita a Senha"> </div> <?php if($recaptcha_status == 'On'): ?> <div class="form-group"> <div class="g-recaptcha" data-sitekey="<?php echo $recaptcha_site_key; ?>"></div> </div> <?php endif; ?> <button type="submit" class="btn btn-primary" name="form1">Cadastre-se</button> </div> </form> </div> </div> <div class="login-here"> <h3><i class="fa fa-user-circle-o"></i> Já é cadastrado? <a href="login.php">Efetue o Login aqui!</a></h3> </div> </div> </div> </div> <?php require_once('footer.php'); ?> pessoal agradeço pela ajuda
-
Estatísticas dos Fóruns
-
Tópicos152,5k
-
Posts652,4k
-