Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

[Resolvido] Erro ao criar pdf com php

Recommended Posts

Pessoal.

 

Estou usando o dom pdf para gerar pdf.

 

Estou com o código abaixo que, se eu imprimir a variavel $texto, sai certo.

 

Mas, se eu chamar o dom da erro mas o diretório esta certo.

 

O que pode haver de erro nesse código?

<?php 
ob_start();
session_start();
header('Content-Type: text/html; charset=utf-8'); 
include("../global/config/conexao.php");
include("../global/funcoes_php/formata_cpf.php");  
include("../global/funcoes_php/formata_cnpj.php");  
include("../global/funcoes_php/formata_data.php");  
?>

<?php
if ($acao == "gerapdf")
{
$texto= "<table width=\"100%\" align=\"center\">";
$sql = $MySQL->query("
                      SELECT 
				     pedidos_cliente.ID_PEDIDO_CLIENTE, 
					 concat( IFNULL(clientes.razaosocial, ''),  IFNULL (clientes.nome , '' )) as NomeCli,
				     concat( IFNULL(clientes.cpf, ''),  IFNULL (clientes.cnpj , '' )),
					 pedidos_cliente.PRECO_TOTAL
                      FROM pedidos_cliente                       
                      INNER JOIN clientes ON clientes.id=pedidos_cliente.Id_Cliente
                      WHERE pedidos_cliente.data  = '$data_escolhe'
                      ORDER BY NomeCli
				   ");
    	$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabelaprint $total;

	if ($total == "0") 
	     {
		$texto.="<tr>
		          <td colspan=\"4\" align=\"center\" valign=\"middle\" height=\"300\">
				          Não foi encontrado nenhum fornecedor para a sua pesquiza
				  </td>
			     </tr>";
		  }
	else {

$texto.= "<thead>
         <tr><td colspan=\"4\" align=\"center\">Relatório Analitico de Pedidos</td></tr>
	  <tr><td colspan=\"4\" align=\"center\">Pedidos ".formata_data($data_escolhe)."</td></tr>
	  </thead>
	  <tr>
		<td width=\"20%\" align=\"center\">PEDIDO</td>
		<td width=\"40%\" align=\"center\">Nome/Razão Social</td>
		<td width=\"20%\" align=\"center\">CPF/CNPJ</td>
		<td width=\"20%\" align=\"center\">Valor (R$)</td>
	  </tr>
	  ";
	  while(list($id, $nomerazao, $DCTO_pedi,  $valor) = mysql_fetch_row($sql)) 
	  {
			if (strlen($DCTO_pedi)==11)   { $DCTO_pedi = formata_cpf($DCTO_pedi);  }
			else if (strlen($DCTO_pedi) ==14){ $DCTO_pedi = formata_cnpf($DCTO_pedi); }

			$texto.= "
					  <tr>
						<td align=\"center\">". $id ."</td>		  
						<td align=\"left\">". $nomerazao ."</td>
						<td align=\"center\">". $DCTO_pedi ."</td>
						<td align=\"right\">". $valor ."</td>  
					  </tr>
					";
	  }
	   }
  $texto.= "</table>";

  require_once("../global/funcoes_php/dompdf/dompdf_config.inc.php");
     $pdf = new DOMPDF();

  $html = '<html>
			  <head>
			  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
				<style type="text/css">
				   table.collapse 
				   {
					 border-collapse: collapse;
					 border-spacing: 1px;
				   }
				   body 
				   {
                        	font-size: 12px;
						    margin: 0px 0px 0px 0px

                      } 
				</script>
			  </head>
			  <body>
			  <script type="text/php">
				if ( isset($pdf) ) 
				{
					$font = Font_Metrics::get_font("Helvetica", "Bold");
					$pdf->page_text(827, 20, "Pagina: {PAGE_NUM} de {PAGE_COUNT}", $font, 12, array(0,0,0));
				 }
			   </script>
			  '. $texto .'
			  </body>
			</html>';



$pdf->load_html($html);
$pdf->set_paper('legal', 'landscape');
$pdf->render();
$pdf->stream("pdf/relatoriodiario.pdf");
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: host in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: db in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: user in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: pass in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Warning: DOMPDF::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\funcoes_php\dompdf\include\dompdf.cls.php on line 191 Fatal error: Call to undefined function sechof() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\funcoes_php\dompdf\include\dompdf.cls.php on line 191

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como fazer esse timezone.

 

Nunca fiz.

 

Aliás, tenho outro site usando o mesmo script e esta funcionando normal.

 

Sobre essas variaveis indefinidas, estão todas definidas.

 

O que fazer?

 

Adicionei:

 

date_default_timezone_set('America/Sao_Paulo');

 

 

E resolveu o problema do timezone.

 

Mas,ainda ficou:

 

Notice: Undefined variable: host in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: db in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: user in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: pass in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Fatal error: Call to undefined function sechof() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\funcoes_php\dompdf\include\dompdf.cls.php on line 191

 

Só que estas variaveis não estão sem valor.

Como faço?

 

Esse é o mninha classe de conexão de texte:

<? 
class TMySQL { 

var $soquete;

function connect($host,$db,$user,$pass) { 

  $this->host = "localhost"; 
  $this->db  = "sbanco";

  $this->user = "suser";
  $this->pass = "suser";   


  $this->soquete=mysql_connect($this->host,$this->user,$this->pass);
  mysql_set_charset("utf8", $this->soquete);
  if (!$this->soquete) { 
    echo "Não foi possível conectar-se ao Bando de Dados MySQL"; 
  }
  else
  {
  if (!mysql_select_db($this->db,$this->soquete)) { 
    echo "Banco de dados não encontrado"; 
  } 
  }
}

function query ($string) { 
  $myquery = mysql_query($string,$this->soquete); 
  if (!$myquery) { 
     echo "Erro na consulta da query!<br>" . $string;
  } 
  else
  { 
  return $myquery;
  }
                        }

function num_rows(){
  return mysql_num_rows( $this->query );
                  }
}
?>
<?
$MySQL = new TMySQL();
$MySQL->connect($host, $db, $user, $pass);
?>

Como pode ver, estao com valor as variaveis informadas.

 

E sobre a ultima variavel, faz parte do mesmo pacote que funciona em uma outra página

 

Inexplicavelmente, apenas exclui a pasta do dompdf e copiei ela de novo e começou a funcinar direito.

 

Estranho.

 

Mas, funcionou.

 

Grato pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Notice: Undefined variable: host in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: db in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: user in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Notice: Undefined variable: pass in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\config\conexao.php on line 46 Fatal error: Call to undefined function sechof() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php\silvinhoeletronica.com.br\global\funcoes_php\dompdf\include\dompdf.cls.php on line 191

 

Só que estas variaveis não estão sem valor.

 

Sei que o tópico já foi resolvido mas, se o PHP acusa um erro, é porque esse erro existe, ela pode até perder o valor em algum momento da aplicação, mas a variável está sem valor, e ponto !

 

:lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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