Ir para conteúdo
paikoala

erro em sistema php ao carregar uma nova imagem para uma noticia

Recommended Posts

Bom dia galera, mantei um blog com um painel adm com codeigniter e estou tendo um problema.

Montei um codigo para editar post que ja tem no site e na parte de editar a imagem ele ta bugando. quando coloca para carregar ele entra na DB e tira o nome da foto antiga mas não coloca o nome da nova, ele até carrega a nova foto para o servidor mas fica dando erro e não vai.]

esse aqui em baixo seria o erro gerado no site e a baixo dele o codigo, coloquei as setas ( <--- ) com o numero das linhas que gera no erro para facilitar.

 

Citar

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: noticia

Filename: controllers/Noticia.php

Line Number: 151

Backtrace:

File: /storage/ssd4/167/1748167/public_html/application/controllers/Noticia.php
Line: 151
Function: _error_handler

File: /storage/ssd4/167/1748167/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: controllers/Noticia.php

Line Number: 151

Backtrace:

File: /storage/ssd4/167/1748167/public_html/application/controllers/Noticia.php
Line: 151
Function: _error_handler

File: /storage/ssd4/167/1748167/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: imagem

Filename: controllers/Noticia.php

Line Number: 156

Backtrace:

File: /storage/ssd4/167/1748167/public_html/application/controllers/Noticia.php
Line: 156
Function: _error_handler

File: /storage/ssd4/167/1748167/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: unlink(upload/): No such file or directory

Filename: controllers/Noticia.php

Line Number: 158

Backtrace:

File: /storage/ssd4/167/1748167/public_html/application/controllers/Noticia.php
Line: 158
Function: unlink

File: /storage/ssd4/167/1748167/public_html/index.php
Line: 315
Function: require_once

 

	public function editar(){
		//verifica se o usuario esta logado
		verifica_login();

		$id = $this->uri->segment(3);
		if($id > 0):
			//id informado, continuar com edição
			if($noticias = $this->noticias->get_single($id)):
				$dados['noticia'] = $noticias;
				$dados_update['id'] = $noticias->id;
			else:
				set_msg('<p>Noticia inexistente!');
				redirect('noticia/listar', 'refresh');
			endif;
		else:
			//id não informado
			set_msg('<p>Você deve escolher uma noticia para editar!</p>');
			redirect('noticia/listar', 'refresh');
		endif;

		//regras de validação
		$this->form_validation->set_rules('titulo', 'TÍTULO', 'trim|required');
		$this->form_validation->set_rules('conteudo', 'CONTEÚDO', 'trim|required');

		//verifica a validação
		if($this->form_validation->run() == FALSE):
			if(validation_errors()):
				set_msg(validation_errors());
			endif;
		else:
			$this->load->library('upload', config_upload());
			if(isset($_FILES['imagem']) && $_FILES['imagem']['name'] != ''):
				//foi enviada uma imagem, devo fazer o upload
				if($this->upload->do_upload('imagem')):
	151--->			$imagem_antiga = 'upload/'.$noticia->imagem;
					$dados_upload = $this->upload->data();
					$dados_form = $this->input->post();
					$dados_update['titulo'] = to_db($dados_form['titulo']);
					$dados_update['conteudo'] = to_db($dados_form['conteudo']);
	156--->			$dados_update['imagem'] = $dados_upload['imagem'];
					if($this->noticias->salvar($dados_update)):
	158--->				unlink($imagem_antiga); 
						set_msg('<p>Noticia alterada com sucesso!</p>');
						$dados['noticia']->imagem = $dados_update['imagem'];
					else:
						set_msg('<p>Nenhuma alterãção foi salva!</p>');
					endif;
				else:
					//erro de upload
					$msg = '<p>São permitidos somente imagens em JPG|PNG de até 512Kb.</p>';
					set_msg($msg);
				endif;
			else:
				//não foi enviado uma imagem
				$dados_form = $this->input->post();
				$dados_update['titulo'] = to_db($dados_form['titulo']);
				$dados_update['conteudo'] = to_db($dados_form['conteudo']);
				if($this->noticias->salvar($dados_update)):
					set_msg('<p>Noticia alterada com sucesso!</p>');
				else:
					set_msg('<p>Nenhuma alterãção foi salva!</p>');
				endif;
			endif;
		endif;

		//carrega view
		$dados['titulo1'] = 'Alteração Fraturas';
		$dados['h2'] = 'Alteração de Noticias';
		$dados['tela'] = 'editar';
		$this->load->view('painel/noticias', $dados);
	}

} 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 O primeiro erro é bem claro, a variável noticia não existe.

 

Após, o índice imagem, em $dados_upload ['imagem'] também não existe.

 

Já, o erro da linha 158 ocorre, pois, a linha 151 está errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu corrigi as duas primeiras linhas e ele ta fazendo certinho o que deveria fazer, tirar a foto antiga do DB e colocar o nome da nova foto alem de subir a nova foto para a pasta mas a ultima continua apresentando o erro

 

Citar

A PHP Error was encountered

Severity: Warning

Message: unlink(upload/Till_Lindemann_P_R_Brown1.JPG): No such file or directory

Filename: controllers/Noticia.php

Line Number: 158

Backtrace:

File: /storage/ssd4/167/1748167/public_html/application/controllers/Noticia.php
Line: 158
Function: unlink

File: /storage/ssd4/167/1748167/public_html/index.php
Line: 315
Function: require_once

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

confira se a imagem está realmente salva no caminhoa defindo (upload/Till_Lindemann_P_R_Brown1.JPG).

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 12/09/2018 at 22:50, paikoala disse:

Eu corrigi as duas primeiras linhas e ele ta fazendo certinho o que deveria fazer, tirar a foto antiga do DB e colocar o nome da nova foto alem de subir a nova foto para a pasta mas a ultima continua apresentando o erro

 

 

Olá... Preciso de uma ajuda, como você resolveu nesse caso as duas primeiras linhas. Por favor se puder pode me responder neste e-mail monique.m09@hotmail.com. Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Carcleo
      Estou tentando rotacionar um texto no PDF com mPDF mas não estou conseguindo.
      $css = ' <style> ul { } ul li { float: left; list-style: none; /*necessáro width no campo */ } ul li span.vertical { display: block; //transform: rotate(270deg); /*necessáro display: block*/ text-rotate : 270; } </style>'; $html = ' <ul> <li style="width: 150px"><span class="vertical">Elefante</span></li> <li style="width: 150px"><span>Não</span></li> <li style="width: 150px"><span>Come</span></li> <li style="width: 150px"><span class="vertical">Bananada</span></li> </ul>'; require_once "../vendor/autoload.php"; $pdf = new \Mpdf\Mpdf(['debug' => true]); $pdf->AddPage(); $pdf->charset_in = "UTF-8"; $pdf->SetFont('Arial','B',16); $pdf->WriteHTML( $css, 1 ); $pdf->WriteHTML( $html ); $pdf->Output(); Obs.: O restante do estilo funciona normal.
       
      O problema é apenas no PDF. No navegador, os spans giram normalmente.
    • Por jpaulorh
      O código grifado de amarelo está sem os caracteres de comentário, e quando é executado fica como se estivesse comentado e não executa o php.
       

       
      Segue abaixo o código para alguém me explicar esse mistério... 
       
      <!DOCTYPE html>
      <html>
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <title>CNSC</title>
          <!-- Favicons-->
        <link rel="icon" href="img/cnsc.png" sizes="32x32">
        <!-- Favicons-->
        <link rel="apple-touch-icon-precomposed" href="img/cnsc.png">
        <!-- Path to Framework7 Library CSS-->
        <link rel="stylesheet" href="css/framework7.ios.min.css">
        <link rel="stylesheet" href="css/framework7.ios.colors.min.css">
        <!-- Path to your custom app styles-->
        <link rel="stylesheet" href="css/my-app.css">
        <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
        <link rel="stylesheet" href="carbon/css/carbon-components.css">
        <!--Import Google Icon Font-->
        <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
        <script
        src="https://code.jquery.com/jquery-3.1.1.min.js"
        integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
        crossorigin="anonymous"></script>
        <!-- Path to Framework7 Library JS-->
        <script type="text/javascript" src="js/framework7.min.js"></script>
        <script type="text/javascript" src="js/app.min.js"></script>
        <script src="carbon/js/carbon-components.js"></script>
        <script type="text/javascript">
        // Iniatilize do aplicativo com suas propriedades
        $(document).ready(function() {
          myApp = new Framework7({
            material: true,
            materialPageLoadDelay: 3,
            materialPreloaderHtml: '<span class="preloader-inner"><span class="preloader-inner-gap"></span><span class="preloader-inner-left"><span class="preloader-inner-half-circle"></span></span><span class="preloader-inner-right"><span class="preloader-inner-half-circle"></span></span></span>',
            modalTitle: 'CNSC',
            modalButtonCancel: 'Cancelar',
            modalPreloaderTitle: 'Carregando...',
          });
          verificaLogado();
        });
        </script>
      </head>
      <body class="theme-black">
        <!-- Status bar overlay for fullscreen mode-->
        <div class="statusbar-overlay"></div>
        <!-- Panels overlay-->
        <div class="panel-overlay"></div>
        <!-- Left panel with reveal effect-->
        <div class="panel panel-left panel-reveal">
          <div class="content-block">
            <div class="list-block">
              <ul>
                <li>
                  <a href="javascript: localStorage.clear(); location.href = 'index.html'" class="list-button item-link external"><i class="fa fa-sign-out color-icon" aria-hidden="true"></i> Sair</a>
                </li>
              </ul>
            </div>
          </div>
        </div>
        <!-- Views-->
        <div class="views">
          <!-- Your main view, should have "view-main" class-->
          <div class="view view-main">
            <!-- Top Navbar-->
            <div class="navbar">
              <div class="navbar-inner">
                <!-- We have home navbar without left link     icon-bars -->
                <div class="left"><a href="#" class="link icon-only open-panel"> <i class="icon"></i><img class="img img-responsive" style="position:absolute; margin-top: 0px; margin-left: 10px" src="img/cnsc.png"></a></div> 
                <br>
                <div class="center" style="position:absolute; font-weight:bold; color: #0080FF; margin-top: 0px; margin-left: 25%">Clínica N. Sra. do Carmo</div>
                            <?php include('slideshow.php');?>
              </div>
            </div>
            <!-- Pages, because we need fixed-through navbar and toolbar, it has additional appropriate classes-->
            <div class="pages navbar-through toolbar-through">
              <!-- Page, data-page contains page name-->
              <div data-page="index" class="page">
                <!-- Scrollable page content-->
      <div class="page-content">
                  <br>
                  <div class="login-screen-title">Atendimentos</div>
                  <!-- 
        Copyright IBM Corp. 2016, 2018
        This source code is licensed under the Apache-2.0 license found in the
        LICENSE file in the root directory of this source tree.
      -->
      <ul data-accordion class="bx--accordion">
          <li data-accordion-item class="bx--accordion__item">
            <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane1">
                <a href="li_listas.html" class="color-blue external" style="font-size: 18px;">
              <div class="bx--accordion__title"><i class="fa fa-list" aria-hidden="true"></i> Listas Atendimentos</a></div>
            </button>
          </li>
          <li data-accordion-item class="bx--accordion__item">
            <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane2">
            <a href="cad_usuarios.html" class="color-blue external" style="font-size: 18px;">
              <div class="bx--accordion__title"><i class="fa fa-user-circle-o" aria-hidden="true"></i> Usuários</a></div>
            </button>
          </li>
          <li data-accordion-item class="bx--accordion__item">
            <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane3">
            <a href="rel_relatorios.html" class="color-blue external" style="font-size: 18px;">
              <div class="bx--accordion__title"><i class="fa fa-bar-chart" aria-hidden="true"></i> Relatórios</a></div>
            </button>
          </li>
      </ul>
                </div>
              </div>
            </div>
          </div>
        </div>
      </body>
      </html>
    • Por joaon77@yahoo.com.br
      Olá pessoal!
      Criei um menu usando listas não ordenadas (ul, li) com as imagens dispostas horizontalmente. São quatro imagens. O problema é que uma das imagens aparece duplicada no layout. Não entendi. Segue o código:
      ... <span class="menuRedesSociais"> <ul> <li id="img1"><a href="#"</a></li> <li id="img2"><a href="#"></a></li> <li id="img3"><a href="#"></a></li> <li id="img4"><a href="#"></a></li> </ul> </span> span ul { margin: 0; padding: 0; } span li { list-style: none; display: inline-block; } span a:link, a:visited { padding: 15px; } li#img1 a{ background-image: url("#img1"); background-repeat: no-repeat; } li#img2 a{ background-image: url("#img2"); background-repeat: no-repeat; } li#img3 a{ background-image: url("#img3"); background-repeat: no-repeat; } li#img4 a{ background-image: url("#img4"); background-repeat: no-repeat; } A imagem que aparece duplicada é a img2. Obs. Já fiz o teste trocando a posição das imagens, só que o problema continua.
       
      Agradeço muito se alguém puder me ajudar.
       
    • Por Rafael-38
      Boa Noite, Pessoal

      Preciso de um orientação, veja se podem me ajudar.
      Estou tentando fazer uma validação de nível de acesso através da url só falta essa validação, onde o níveis são  Funcionário = 1 e Administrador = 2 .

      Exemplo url: painel/editUser.php?pag=editar&user=4 
       
      Então a ideia da validação é quando funcionário fazer login no painel ele consegue editar apenas o cadastro dele, caso mude o numero do user=4 para user=3 na url ele não consiga editar outro cadastro.
       
      Abaixo o código que fiz, mais é algum detalhe precisa ajustar:
      Coloquei um alert no $usu_idUser para testar e está recuperando a ID do usuário.
      //Validando Nivel de Acesso if($_GET['user'] != "$usu_idUser" || $_SESSION['nivelAcesso'] != "2") { echo "<script>alert('$usu_idUser'); location.href='index.php';</script>"; }else{ $usu_idUser = intval($_GET['user']); } Agradeço desde já pela ajudar...
    • Por Carcleo
      Gostaria de saber porque o mPDF, nesse meu código, não está aceitando o CSS ao gerar o PDF.
       
      Obs.: no navegador, sai tudo normal mas quando a exibição é no PDF é que nõ funcinam os estilos.
      <?php   $css = "         img {             max-width: 100%;         }         ul {             list-style: none;         }         div.relatorio {             width: 95%;             margin: 0 auto;         }         div.relatorio ul.border {             border: .1px rgb(0,0,0) solid;             background-color: black;         }         div.relatorio .centralizado {             text-align: center !important;         }         div.relatorio .backCinza {             background-color: rgb(217,217,217);         }         div.relatorio ul.ulInlineBlock li {             display: inline-block;         }         div.relatorio ul.lancamento li, div.relatorio ul.resumo li {             height: 100%;             line-height: 18px;             font-size: .85em;             border-left: .1px rgb(0,0,0) solid;             text-align: center;             vertical-align: middle;         }         div.relatorio ul.lancamento li {             width: 113.5px !important;         }         div.relatorio ul.resumo li {             width: 150px !important;         }         div.relatorio ul.lancamento li:first-child, div.relatorio ul.resumo li:first-child {             border-left: none;         }         .erro, .hCentralizadoAvisos {             color: rgb(255,0,0);         }         .hCentralizado, .hCentralizadoAvisos, .erro {             width: auto;             line-height: 50px;             text-align: center;             margin: 0 auto;         }         .labelPequeno {             width: 150px;             height: 30px;             padding: 3px;             display: inline-block;         }         span.vertical {             -webkit-writing-mode: vertical-lr;             -ms-writing-mode: tb-lr;             writing-mode: vertical-lr;             -webkit-transform: rotate(180deg);             -ms-transform: rotate(180deg);             transform: rotate(180deg);         }         span.comum {         }         div.cabecalhoVertical {             display: -webkit-box;             display: -ms-flexbox;             display: flex;             margin: 0 auto;             width: 800px;             height: 220px;             border: .1px rgb(0,0,0) solid;         }         div.cabecalhoVertical div {             display: -webkit-box;             display: -ms-flexbox;             display: flex;             border-right: .1px rgb(0,0,0) solid;             -webkit-box-align: center;             -ms-flex-align: center;             align-items: center;             -webkit-box-pack: center;             -ms-flex-pack: center;             justify-content: center;         }         div.cabecalhoVertical div span {             text-align: center;             font-weight: bolder;         }   ";   $html = "         <div class='relatorio'>             <img src='http://www.wesleyanagceu.com.br/_imgs/gceu.png' /> <h1>Relatório Mensal</h1>             <br><br>                 <div class='cabecalhoVertical'>             <div style='width:100px;'><span class='comum'   >Nome do Gcéu</span></div>             <div style='width:100px;'><span class='vertical'>Supervisor</span></div>             <div style='width:100px;'><span class='comum'   >Líder</span></div>             <div style='width:050px;'><span class='vertical'>Houve Supervisão</span></div>             <div style='width:050px;'><span class='vertical'>Houve dia de Jejum</span></div>             <div style='width:050px;'><span class='vertical'>Houve dia de Evangelismo</span></div>             <div style='width:050px;'><span class='vertical'>Membros Compromissados</span></div>             <div style='width:050px;'><span class='vertical'>Visitantes</span></div>             <div style='width:050px;'><span class='vertical'>Crianças de 0 à 12 anos</span></div>             <div style='width:050px;'><span class='vertical'>Total de presentes</span></div>             <div style='width:050px;'><span class='vertical'>Ofertas</span></div>                                 <div style='width:050px;'><span class='vertical'>Disicpulados</span></div>                                 <div style='width:050px;'><span class='vertical'>Número de decisões</span></div>                             </div>             <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Célula 1</span></div>             <div style='width:100px;'><span class='comum'>Cleonice</span></div>             <div style='width:100px;'><span class='comum'>Jonas</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>50</span></div>             <div style='width:050px;'><span class='comum'>10</span></div>             <div style='width:050px;'><span class='comum'>13</span></div>             <div style='width:050px;'><span class='comum'>73</span></div>             <div style='width:050px;'><span class='comum'>22,65</span></div>                                 <div style='width:050px;'><span class='comum'>2</span></div>                                 <div style='width:050px;'><span class='comum'>11</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Celula 2</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:100px;'><span class='comum'>Jonas</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>10</span></div>             <div style='width:050px;'><span class='comum'>5</span></div>             <div style='width:050px;'><span class='comum'>3</span></div>             <div style='width:050px;'><span class='comum'>18</span></div>             <div style='width:050px;'><span class='comum'>78,39</span></div>                                 <div style='width:050px;'><span class='comum'>3</span></div>                                 <div style='width:050px;'><span class='comum'>1</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Celula TOP</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Jesuita</span></div>             <div style='width:100px;'><span class='comum'>Josefina Etelvina</span></div>             <div style='width:100px;'><span class='comum'>Josefina Etelvina</span></div>             <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Tassito</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div>         </div>     </div>";     require_once "../_scripts/_php/_configuracoes/erros.php";     require_once "../vendor/autoload.php";     $pdf = new \Mpdf\Mpdf(['debug' => true]);     $pdf->AddPage();     $pdf->charset_in = "UTF-8";     $pdf->SetFont('Arial','B',16);     $pdf->WriteHTML( $css, 1 );     $pdf->WriteHTML( $html );     $pdf->Output("relatorio.pdf","D"); ?>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.