Jump to content
mauriciomartins.ti

Recuperar dado de um certo componente de um certo formulário.

Recommended Posts

Boa noite amigos desenvolvedores.

Estou com o seguinte problema e não achei uma solução.

Para facilitar o processo de customização de relatórios estou criei algumas tabelas no banco de dados que guardam o modelo do relatório, comandos sql e filtros sql.

E acabei criando uma rotina para gerar relatórios dentro de um função. Esta tudo perfeito exceto em uma parte vital.

 

Quando chamo a funçao tem que ser dados o valor de duas variavels:  "CodigoRelatorio" e "nomeForm". Ate ai ok.

 

O nome do formulario e pra eu saber da onde tenho de puxar o dado para o filtro visto que essa função sera usada em diversas telas.

Para buscar o dado em um, por exemplo DBEdit, fiz o seguinte procedimento

 

Comando sql = TDBEdit(Application.FindComponent(nomeForm).FindComponent('DBedtCodigoCliente')).Text;

 

Em questão de sintaxe não da erro. Mas não funciona. Da erro de execução. Não consigo capturar o código do cliente para gerar o relatorio

 

Alguém tem uma ideia do que posso fazer para resolver isso.

Desde ja agradeço muito!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
       
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div> Segue o código do enviar.php
       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html');  ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.

    • By fmcmf
      Boa tarde...
      Tenho um formulário no site e o envio é usando o PHPMailer... o email está chegando no destino.... mas o conteúdo inserido nos campos não chega.
       
      Segue o código do formulário em html:
      <div id="banner"> <img class="fotobanner" src="img/comprar.png" alt=""> </div> <div class="formulario"> <h3 align="center"> PREENCHA OS DADOS ABAIXO PARA CONTRATAR: </h3> <form action=”envia.php” method=”post” id=”contato”> <div class="form-group"> <label for="exampleFormControlInput1">Nome completo:</label> <input type="nome" class="form-control" id="nome" placeholder="Nome" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">CPF:</label> <input type="cpf" class="form-control" id="cpfcli" placeholder="CPF" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero:</label> <select class="form-control" id="generocli" required> <option>Feminino</option> <option>Masculino</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">Data de Nascimento (dia/mês/ano):</label> <input type="" class="form-control" id="nasccli" placeholder="Data de nascimento (dia/mês/ano)" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Estado Civil:</label> <select class="form-control" id="ecivilcli" required> <option>Casado(a)</option> <option>Solteiro(a)</option> <option>Divorciado(a)</option> <option>Viúvo(a)</option> </select> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Endereço Completo + CEP:</label> <textarea class="form-control" id="endcli" rows="3" required></textarea> </div> <div class="form-group"> <label for="exampleFormControlInput1">Celular com DDD:</label> <input type="" class="form-control" id="celcli" placeholder="Celular com DDD" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">E-mail:</label> <input type="" class="form-control" id="emailcli" placeholder="E-mail" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PLANO Desejado:</label> <select class="form-control" id="plano" required> <option>SELECT</option> <option>PLUS</option> <option>TOP</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">NOME do PET:</label> <input type="" class="form-control" id="nomedopet" placeholder="NOME do PET" required> </div> <div class="form-group"> <label for="exampleFormControlInput1">IDADE do PET:</label> <input type="" class="form-control" id="idadedopet" placeholder="IDADE do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Tipo do PET:</label> <select class="form-control" id="tipodopet" required> <option>GATO</option> <option>CACHORRO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlSelect1">Gênero do PET:</label> <select class="form-control" id="generodopet" required> <option>FÊMEA</option> <option>MACHO</option> </select> </div> <div class="form-group"> <label for="exampleFormControlInput1">RAÇA do PET:</label> <input type="" class="form-control" id="racadopet" placeholder="RAÇA do PET" required> </div> <div class="form-group"> <label for="exampleFormControlSelect1">PORTE do PET:</label> <select class="form-control" id="portedopet" required> <option>Pequeno</option> <option>Médio</option> <option>Grande</option> </select> </div> <div class="dobotao"> <button type="submit" class="botao"> <strong>ENVIAR DADOS </strong> </button></div> </form></div>  
      Segue o código do enviar.php

       
      <?php require 'PHPMailerAutoload.php'; require 'class.phpmailer.php'; $mailer = new PHPMailer; //$mailer->SMTPDebug = 2; // Enable verbose debug output $mailer->isSMTP(); // Set mailer to use SMTP $mailer->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) ); if($_GET['acao'] = 'enviar'){ $nome = $_POST['nome']; $cpfcli = $_POST['cpfcli']; $generocli = $_POST['generocli']; $nasccli = $_POST['nasccli']; $ecivilcli = $_POST['ecivilcli']; $celcli = $_POST['celcli']; $plano = $_POST['plano']; $nomedopet = $_POST['nomedopet']; $tipodopet = $_POST['tipodopet']; $generodopet = $_POST['generodopet']; $racadopet = $_POST['racadopet']; $portedopet = $_POST['portedopet']; $mailer->Host = 'pleskl0040.hospedagemdesites.ws'; $mailer->SMTPAuth = true; // Enable SMTP authentication $mailer->IsSMTP(); $mailer->isHTML(true); // Set email format to HTML $mailer->Port = 587; // Ativar condição utf-8, para acentuação $mailer->CharSet = 'UTF-8'; $mailer->Username = 'formulario@thna.com.br'; // SMTP username $mailer->Password = '@Nathi1010'; // SMTP password // email do destinatario $address = "formulario@thna.com.br"; //$mailer->SMTPDebug = 1; $corpoMSG = "nome: $nome <br> cpf: $cpfcli <br> genero: $generocli <br> nascimento: $nasccli <br> estado: $ecivilcli <br> celular: $cel <br> plano: $plano <br> pet: $nomedopet <br> tipo: $tipodopet generopet $generodopet <br> racapet: $racadopet <br> porte: $portedopet"; $mailer->AddAddress($address, "destinatario"); $mailer->AddAddress("formulario@thna.com.br", "destinatario 2"); // 2º destinatário se querer enviar, se não, comente com // $mailer->From = 'formulario@thna.com.br'; $mailer->Sender = 'formulario@thna.com.br'; $mailer->FromName = "Site Saúde PET"; // Seu nome // assunto da mensagem $mailer->Subject = $assunto; // corpo da mensagem $mailer->MsgHTML($corpoMSG); if(!$mailer->Send()) { echo "Erro: " . $mailer->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } header('Location: /pet/confirmado.html'); ?> Como comentei,  o email chega... mas o conteúdo do form não chega... Segue anexo print da caixa do e-mail:
       
      Desde já agradeço.
       
       
       
       

    • By Roberto S. Santos
      Boa noite devs.
      Poderiam me ajudar ?
      Estou querendo fazer o seguinte em um formulário PHP...
      O usuário deve cadastrar a sua data e horário do uso na churrasqueira e quando chegar nesta data e no horário final ele apaga os dados do cadastro desta reserva.
      Como posso fazer isto com PHP ?
      Temos...
      data reserva
      hora reserva  (hora inicial)
      hora final (já vai estar pré definida na base de dados)
      Banco de Dados : clientes
      Tabela : reserva
      Deus abençoe a todos.
       
    • By ILR master
      Boa tarde pessoal!
       
      A minha dúvida é a seguinte:
      O script abaixo é de um formulário onde o cliente envia suas dúvidas ou sugestões, mas o email está chegando da seguinte forma:
      orcamentos@portasautomaticasandreluis.com.br - Contato pelo site
      e eu quero que chegue assim:
      André Luis Portas de Enrolar - Contato pelo site
       
      ou seja, no lugar do email quero que seja o nome da empresa.
       
      Será que consegui ser claro?
       
      Segue script que estou usando.
       
      Agradeço desde já!
       
      $atitulo= "Contato pelo site";
      $aemail = "orcamentos@portasautomaticasandreluis.com.br";
      $amsg .= "Olá, Administrador!
      O usuário ".$nome." com o email ".$email.", acabou de enviar a seguinte mensagem:
      ".$mensagem."";
      $amsg = utf8_decode($amsg);

          if (PATH_SEPARATOR ==":") {
              $quebra = "\r\n";
          } else {
              $quebra = "\n";
          }
          $headers = "MIME-Version: 1.1".$quebra;
          $headers .= "Content-type: text/plain; charset=iso-8859-1".$quebra;
          $headers .= "From: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          $headers .= "Return-Path: orcamentos@portasautomaticasandreluis.com.br".$quebra; //E-mail do remetente
          mail($aemail, $atitulo, $amsg, $headers, "-r". "orcamentos@portasautomaticasandreluis.com.br");
          }
    • By rafaelpereirap
      Olá, venho pedir ajuda. Estou fazendo um painel admin e no módulo de notícias criei um formulário pra inserir a nova notícia com um campo para inserir a imagem. Criei vários cases para me mostrar se foi feito ou não o registro e agora está dando uma das mensagens do case que não registrou a notícia e não salva a imagem na página indicada. Se puderem me ajudar com esse problema fico agradecido. Seguem os códigos: 
      <?php class connectMysql { private $host = 'localhost'; private $user = 'root'; private $password = 'Be15se90@';//'admin'; private $banco = 'siteNovoCoopama'; private $mysqli = ''; private $insertId = ''; public function __construct(){ } private function mysqlConnect() { $this->mysqli = new mysqli($this->host, $this->user, $this->password, $this->banco); if (mysqli_connect_error()) { die('FATAL ERROR: Can not connect to SQL Server.'); exit(); } } public function executeQuery($query) { $this->mysqlConnect(); // $query = mysqli_real_escape_string($this->mysqli, $query); $this->result = $this->mysqli->query($query); //$this->insertId = mysqli_insert_id(); $this->mysqlClose(); return $this->result; } public function mysqlClose() { $this->mysqli->close(); } /* * vai remover caso tente um sql injection * */ public function limparString($sql) { $sql = addslashes($sql); return $sql; } } noticiaNovo.php
      <?php include ($_SERVER['DOCUMENT_ROOT'] . '/_constantes.php'); //include (RAIZ_SITE . '/protecao.php'); require_once $_SERVER['DOCUMENT_ROOT'] . '/connectMysql.php'; //include_once ($paths['Controller'] . 'NoticiasController.php'); //include 'Controller/NoticiasController.php'; /* * uma dica... esse eh o form pra cadastrar noticias, correto? * isso mesmo, na verdade eu fiz a chamada de inserção e as outras funções no DAO mas não to conseguindo chamar ele, está gerando erro * ai ia tentar dessa maneira para ver se inseria . * mesmo que faca desse jeito, nunca coloque o insert na mesma pagina do form pq você tem que submeter a pagina pra ela mesma com o form carregado * e se a pessoa ficar dando f5, vai ficar cadastrando a mesma noticia qtas vezes ela atualizar a pagina * se quiser fazer dessa forma, sem o DAO, cria uma nova pagina para submeter o form e depois, redireciona para a pagina da noticia * entendue? * criar tipo um validar.php né? * mas queria aprender dessa maneira, orientada, uma puxando a outra * bora fazer rsss * bora lá kkkkk * as chamadas no DAO ta certo? */ ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Coopama | Admin</title> <link rel="shortcut icon" href="/admin/dist/img/favicon.png"> <!-- Google Font: Source Sans Pro --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"> <!-- Font Awesome --> <link rel="stylesheet" href="<?=HOST_ADMIN?>/plugins/fontawesome-free/css/all.min.css"> <!-- Theme style --> <link rel="stylesheet" href="<?=HOST_ADMIN?>/dist/css/adminlte.min.css"> <!-- summernote --> <link rel="stylesheet" href="<?=HOST_ADMIN?>/plugins/summernote/summernote-bs4.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> </head> <body class="hold-transition sidebar-mini"> <div class="wrapper"> <!-- Navbar --> <nav class="main-header navbar navbar-expand navbar-white navbar-light"> <!-- Left navbar links --> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a> </li> <li class="nav-item d-none d-sm-inline-block"> <a href="home.php" class="nav-link">Home</a> </li> <!--<li class="float float-sm-right"> <a href="#" class="nav-link float-right">Contato</a> </li>--> </ul> </nav> </div> <!-- Main Sidebar Container --> <aside class="main-sidebar sidebar-dark-primary elevation-4"> <!-- Brand Logo --> <a href="home.php" class="brand-link"> <img src="dist/img/logo-quadrada-transparente.png" alt="Coopama" class="brand-image img-circle elevation-3" style="opacity: .8"> <span class="brand-text font-weight-light">Coopama</span> </a> <!-- Sidebar --> <div class="sidebar"> <!-- Sidebar user (optional) --> <div class="user-panel mt-3 pb-3 mb-3 d-flex"> <div class="image"> <img src="dist/img/avatar5.png" class="img-circle elevation-2" alt="User Image"> </div> <div class="info"> <a href="#" class="d-block"><?php echo $_SESSION['nome'];?></a> </div> </div> <!-- Sidebar Menu --> <nav class="mt-2"> <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-newspaper nav-icon"></i> <p> Noticias <i class="fas fa-angle-left right"></i> <span class="right badge badge-danger">News</span> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-newspaper fa-xs nav-icon"></i> <p> Noticias Coopama <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="noticiaNovo.php" class="nav-link"> <i class="fas fa-plus nav-icon"></i> <p>Inserir uma nova</p> </a> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="listaNoticia.php" class="nav-link"> <i class="fas fa-list nav-icon"></i> <p>Listar Todas</p> </a> </li> </ul> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-journal-whills fa-xs nav-icon"></i> <p> Coopama Informa <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-plus nav-icon"></i> <p>Inserir uma nova</p> </a> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-list nav-icon"></i> <p>Listar Todas</p> </a> </li> </ul> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-ethernet fa-xs nav-icon"></i> <p> Coopama Informa - Web <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-plus nav-icon"></i> <p>Inserir uma nova</p> </a> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-list nav-icon"></i> <p>Listar Todas</p> </a> </li> </ul> </li> </ul> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon far fa-calendar-alt"></i> <p> Eventos <i class="fas fa-angle-left right"></i> <span class="badge badge-info right">!</span> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Feiras Coopama</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>AGO</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Concurso de Café</p> </a> </li> <!--<li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Calendário</p> </a> </li>--> </ul> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-columns"></i> <p> Banners </p> </a> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-tree"></i> <p> Cotação Geral <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-tractor nav-icon"></i> <p>Milho</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-coffee nav-icon"></i> <p>Café</p> </a> </li> </ul> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-columns"></i> <p> Trabalhe Conosco </p> </a> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-calendar-alt"></i> <p> Calendario <span class="badge badge-info right"></span> </p> </a> </li> </ul> </nav> </div> </div> <!-- /.sidebar --> </aside> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1>Noticias</h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="home.php">Home</a></li> <!--<li class="breadcrumb-item active"></li>--> </ol> </div> </div> </div><!-- /.container-fluid --> </section> <!-- Main content --> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3 class="card-title" style="width: 100%">Crie uma nova noticia</h3> </div> <!--<div id="corpoNoticia"class="row">--> <!--<h2 class="center" align="center" style="cursor: pointer"><u>Crie uma nova noticia</u></h2>--> <br style="clear: both"> <form name="novaNoticia" id="novaNoticia" method="post" enctype="multipart/form-data" style="text-align: center"> <input type="hidden" name="acao" id="acao" value="novaNoticia"> <div class="form-row"> <div class="form-group col-lg-6"> <label for="titulo">*Titulo</label> <input type="text" class="form-control" id="titulo" name="titulo" placeholder="Titulo da Noticia" required> </div> <div class="form-group col-md-6"> <label for="previa">Prévia</label> <input type="text" class="form-control" id="previa" name="previa" placeholder="Prévia da Noticia"> </div> </div> <div class="form-group"> <label for="texto">*Texto</label> <textarea class="form-control" id="texto" name="texto" placeholder="Texto da Noticia" required></textarea> </div> <div class="form-row"> <div class="file-field input-field col s12 l8"> <label for="imagem">Imagem Destaque</label> <input type="file" class="form-control" required name="imagemDestaque" id="imagemDestaque"> </div> <div class="form-group col-md-2"> <label for="data">*Data da Postagem</label> <input type="date" class="form-control" name="data" id="data" required> </div> <div class="form-group col-md-2"> <label for="status" required>*Status</label> <select id="status" name="status" class="form-control"> <option selected>Escolher...</option> <option value="A">Ativa</option> <option value="R">Rascunho</option> <option value="D">Descartada</option> </select> </div> <div class="form-group col-md-1"> <label for="fixa">*Topo?</label> <select name="fixa" required id="fixa" class="form-control"> <option value="S">Sim</option> <option value="N">Não</option> </select> </div> <div class="form-group col-md-4" style="text-align: center; margin-top: 30px"> <button type="submit" id="btnSubmit" class="btn btn-group-lg" style="color: white; background-color: #0f9d58">Enviar</button> </div> </div> <!--<hr>--> <!--<button type="submit" class="btn btn-primary" style="color: white; background-color: #0f9d58; " >Enviar</button>--> </form> <br> </div> </div> </div> </div> </section> <style> form { padding-right: 10px; padding-left: 10px; } .form-row{ font-weight: bold; } card-header{ grid-template-rows: 120px 1fr 60px; } label{ padding-left: 5px; padding-right: 5px; } button{ color: #fff; background-color: #0f9d58; padding-bottom: 50px; } form > label{ font-size: 1.0rem; padding-right: 55px; } </style> <!-- Control Sidebar --> <aside class="control-sidebar control-sidebar-dark"> <!-- Control sidebar content goes here --> </aside> <!-- /.control-sidebar --> </div> <!-- ./wrapper --> <!-- jQuery --> <script src="/admin/js/jquery-3.6.0.min.js"></script> <!-- Bootstrap 4 --> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" integrity="sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js" integrity="sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc" crossorigin="anonymous"></script> <script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script> <script> $(function (){ $(".preloader").fadeOut(); /*$.post('/processa/acaoNoticias.php',{ acao: 'validarCadastro', }, function (data){ if(data['tipo'] == 'sucess'){ $('#btnSubimit').hide(); Swal.fire({ title: data['titulo'], html: data['mensagem'], type: data['tipo'], confirmButtonText: "Fechar" }); }else { $('#btnSubimit').show(); } },'json');*/ $('#novaNoticia').submit (function (e){ e.preventDefault(); if ($('#titulo, #previa, #texto, #imagem, #data, #status, #fixa').val() != ''){ //$('#btnSubmit').hide(); $.ajax({ type: "POST", url: '/admin/processa/acaoNoticias.php', dataType: 'json', data: new FormData($('#novaNoticia').get(0)), contentType:false, processData: false, cache: false, success: function (data){ if (data['tipo'] == 'success'){ document.getElementById('novaNoticia'). reset(); } $('#btnSubmit').show(); Swal.fire({ title: data['titulo'], html: data['mensagem'], icon: data['tipo'], confirmButtonText: "Fechar" }); }, error: function (data){ $('#btnSubmit').show(); $('#modal-warning').addClass('hide').fadeOut(5); Swal.fire({ title: data['titulo'], html: data['mensagem'], type: 'error', confirmButtonText: "Fechar" }); } }); }else { Swal.fire({ title: 'Atenção', type:'Info', html: 'Os campos com * são obrigatorios, por favor volte e verifique se você preencheu todos.', confirmButtonText: "Fechar" }) } }) }) <?php if(!empty($_SESSION['MSG_RETORNO'])) { $msgRetorno = $_SESSION['MSG_RETORNO']; echo 'Swal.fire({ title: "' . $msgRetorno['titulo'] . '", html: "' . $msgRetorno['mensagem'] . '", type: "' . $msgRetorno['tipo'] . '", confirmButtonText: "Fechar" });'; /* * Apos mostrar a msg de sucesso ou erro, a sessao é eliminada e nao sera mais chamada. */ unset($_SESSION['MSG_RETORNO']); } ?> </script> </body> </html> classNoticias.php
      <?php require_once $_SERVER['DOCUMENT_ROOT'] . '/admin/connectMysql.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/admin/Beans/Noticias.php'; class classNoticias extends connectMysql { public $titulo = ''; public $texto = ''; public $previa = ''; public $imagem = ''; public $data = ''; public $status = ''; public $fixa = ''; public $codNoticia = ''; /** * classNoticias constructor. */ public function __construct() { } /** * @return array */ public function editaNoticia() { $query = $this->executeQuery("UPDATE noticias SET titulo = '" . addslashes(utf8_decode($this->titulo)) . "', texto = '" . addslashes(utf8_decode($this->texto)) . "', previa = '" . addslashes(utf8_decode($this->previa)) . "', imagem = '" . $this->imagem . "', NOW(), status = '" . $this->status . "', fixaTopo = '" . $this->fixa . "', WHERE codNoticia = '" . (int)$this->codNoticia . "' LIMIT 1"); if ($query == true) { return ['tipo' => 'sucess', 'titulo' => 'Sucesso!', 'mensagem' => 'Noticia modificada!']; } else { return ['tipo' => 'error', 'titulo' => 'Erro!', 'mensagem' => 'Erro ao fazer a edição, tente novamente']; } } public function listaNoticias() { $query = $this->executeQuery("SELECT *, DATE_FORMAT(dataPostagem, '%d/%m/%Y %H:%i') dtHrPostagem FROM noticias ORDER BY dataPostagem DESC"); $return = []; while ($sql = $query->fetch_array()) { $return[] = [ 'codNoticia' => utf8_encode($sql['codNoticia']), 'titulo' => utf8_encode($sql['titulo']), 'texto' => utf8_encode($sql['texto']), 'previa' => utf8_encode($sql['previa']), 'imagemDestaque' => utf8_encode($sql['imagemDestaque']), 'dataPostagem' => utf8_encode($sql['dtHrPostagem']), 'status' => utf8_encode($sql['status']), 'fixaTopo' => utf8_encode($sql['fixaTopo']) ]; } return $return; } public function listaNoticiasByCod() { $query = $this->executeQuery("SELECT *, DATE_FORMAT(dataPostagem, '%d/%m/%Y %H:%i') dtHrPostagem FROM noticias WHERE codNoticia = " . (int)$this->codNoticia . "LIMIT 1"); $return = []; while ($sql = $query->fetch_array()) { $return[] = [ 'codNoticia' => utf8_encode($sql['codNoticia']), 'titulo' => utf8_encode($sql['titulo']), 'texto' => utf8_encode($sql['texto']), 'previa' => utf8_encode($sql['previa']), 'imagemDestaque' => utf8_encode($sql['imagemDestaque']), 'dataPostagem' => utf8_encode($sql['dtHrPostagem']), 'status' => utf8_encode($sql['status']), 'fixaTopo' => utf8_encode($sql['fixaTopo']) ]; } return $return; } public function cadastrarNovaNoticia() { if ($this->fixa == 'S') { $this->executeQuery("UPDATE noticias SET fixa = 'X'"); } $sql = "INSERT INTO noticias (titulo, texto, previa, imagemDestaque, dataPostagem, status, fixaTopo) VALUES ('" . addslashes(utf8_decode($this->titulo)) . "', '" . addslashes(utf8_decode($this->texto)) . "', '" . addslashes(utf8_decode($this->previa)) . "', '" . addslashes(utf8_decode($this->imagem)) . "', NOW(), '" . addslashes(utf8_decode($this->status)) . "', '" . addslashes(utf8_decode($this->fixa)) . "')"; return $this->executeQuery($sql); } } acaoNoticias.php
      <?php $titulo = 'Atenção!'; $mensagem = 'Houve um erro ao acessar esta página, por favor, tente novamente.'; $tipo = 'warning'; $html = ''; if(!empty($_POST['acao'])){ require_once '../../_constantes.php'; require_once RAIZ_SITE_ADMIN . '/Classes/classNoticias.php'; $classNoticias = new classNoticias(); /* * diminuir a quantidade de arquivos dessa forma * utiliza um arquivo desse pra cada modulo (noticas textos, ..) * o que vai determinar o que sera feito, eh o campo acao * veja que ja chamou a classe acima e ja instanciou ela, entao nao precisa chamar mais * o que estiver dentro do switch case, vai ser executado de acordo com o valor da acao */ $conn = new mysqli(HOST, USER, SENHA, BD); switch ($_POST['acao']) { /* * se for uma nova noticia entra neste case */ case 'novaNoticia': { if(!empty($_POST['titulo']) && !empty($_POST['previa']) && !empty($_POST['texto'])) { /* * atribui os valores as variaveis. falta o upload da imagem e os outros campos */ $classNoticias->titulo = $_POST['titulo']; $classNoticias->previa = $_POST['previa']; $classNoticias->texto = $_POST['texto']; $classNoticias->fixa = $_POST['fixa']; $classNoticias->status = $_POST['status']; /* * Verifica se fez o upload da imagem */ $mensagemExiste = 'N'; if (!empty($_FILES['imagemDestaque'])) { /*$extensao = pathinfo(substr($_FILES['imagemDestaque']['name'], PATHINFO_EXTENSION, -4));*/ $extensao = pathinfo($_FILES['imagemDestaque']['name'], PATHINFO_EXTENSION); $mensagemExiste = 'S'; if (array_search(strtolower($extensao), ['jpg', 'png', 'jpeg']) == true) { $nomeImagem = md5(date('dmYHis')) . '.' . $extensao; if (move_uploaded_file(RAIZ_SITE . '/var/www/html/novoSiteCoopama/images/noticias' . $nomeImagem, $_FILES['imagemDestaque']['tmp_name']) == true) { $mensagemExiste = 'V'; $classNoticias->imagem = $nomeImagem; } else { $mensagemExiste = 'X'; } } } /* * salva a noticia */ $retorno = $classNoticias->cadastrarNovaNoticia(); // retorno true ou false do insert if ($retorno == true) { switch ($mensagemExiste) { case 'N': $txt = 'Imagem não selecionada.'; break; case 'S': $txt = 'Noticia não gravada, confira novamente'; break; case 'X': $txt = 'Notícia gravada com sucesso mas houve um erro ao salvar a imagem.'; break; case 'V': $txt = 'Notícia gravada com sucesso.<br>Imagem armazenada com sucesso.'; break; default: $txt = 'Notícia gravada com sucesso mas sem imagem selecionada.'; break; } $tipo = 'success'; $titulo = 'Sucesso!'; $mensagem = $txt; } else { $tipo = 'error'; $titulo = 'Erro!'; $mensagem = 'Erro ao gravar a noticia, por favor, tente novamente.'; } } else { $mensagem = 'Por favor, preencha todos os campos marcados com * para gravar sua notícia.'; } break; } case 'listarNoticias': { $sql = "SELECT codNoticia, titulo, previa, texto, dataPostagem, status, fixaTopo FROM noticias"; $conn = mysqliConnect(); $result = $conn->query($sql); $registros = []; if ($result->num_rows > 0){ while($row = $result->fetch_assoc()){ $registros[] = $row; } }elseif ($conn->error){ echo "Erro: " . $conn->error; } break; } case 'editarNoticias': { break; } case 'localizarNoticia': { break; } default: echo "Erro: " . $conn->connect_error; } } else { // caso tenha cmapo vazio, vai retornar para pagina de cadastro de noticias $tipo = 'warning'; $titulo = 'Atenção!'; $mensagem = 'Por favor, preencha todos os campos e tente novamente.'; } echo json_encode([ 'titulo' => $titulo, 'tipo' => $tipo, 'mensagem' => $mensagem, 'html' => $html, ]);
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.