Jump to content
rafaelpereirap

Formulário php erro ao fazer o registro no banco e salvar imagem na pasta

Recommended Posts

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,
]);

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 jgasper
      Olá, estou desenvolvendo um sistema de requisições para almoxarifado. Na tela de requisição o usuário terá a opção de incluir o item + quantidade que deseja, e haverá um botão + para poder adicionar mais itens. Porém não consigo pensar em como fazer isso ir para o banco e como salvar isso no pedido. Alguém tem algum exemplo ou pode me ajudar nesse caso?
    • 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 violin101
      Caros amigos
       
      saudações...
       
      Primeiramente peço desculpa se postei minha dúvida na opção errada.
       
      Estou escrevendo uma Rotina para Impressão de Relatório usando mPDF, até aqui tudo bem.
       
      O relatório tem um: Título - Tabela - Dados.
       
      Minha dúvida:
      --[ como faço para REPETIR em todo SALTO de Página o Título ou Cabeçalho da Tabela, por exemplo:
       
      Título.................: Relatório de Estoque
      Tabela Campos: Código | Descrição | ESP | Qtde | Valor
       
      Grato,
       
      Cesar 
       
    • By Sapinn
      Opa galera tudo beleza? Então meu banco está me retomando um erro quando tento inserir nele que é "Dados truncados na coluna valor_produto" essa coluna era do tipo Double quando eu mudei para ela para TEXT funcionou os dados foram inseridos mas eu preciso que ela seja do tipo double. Alguém sabe como resolver????
×

Important Information

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