Ir para conteúdo

POWERED BY:

Arquivado

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

weslley clyton

Variavel php pegando o codigo html da pagina que esta sendo executada

Recommended Posts

  Em 19/04/2012 at 17:10, cristian_web disse:

<?
$pagina = file_get_contents("http://www.seusite.com.br/pagina.php");
?>

 

 

isso ainda não resolve meu problema, a pagina que preciso pegar o html tem variaveis que recebem dados de um formulario , busca no banco determinado registro e depois mostra na tela, dessa forma nao consigo pegar os dados do banco impressos na tela.

 

Entende?? desde ja obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa,

 

o problema vão ser os dados do form, qual a finalidade disso? derrepente achamos outra alternativa

 

  Em 19/04/2012 at 13:31, weslley clyton disse:

E ai galera beleza, preciso armazenar em uma varial todo o codigo html da pagina que esta sendo executada, alguem me da uma luz? vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 19/04/2012 at 17:49, Rafael Impacto disse:

Opa,

 

o problema vão ser os dados do form, qual a finalidade disso? derrepente achamos outra alternativa

 

então, é o seguinte, eu tenho uma pagina de relatorios, essa pagina mostra os dados dependendo do filtro que o usuario escolhe, até ai normal.

 

Eu pretendo usar o html2pdf para que o seje gerado o pdf dos dados, então preciso armazenar todo o html dentro da variavel entende?

 

E essa pagina nao d apra ser feita atasves de outro gerador de pdf, tipo o FPDF ou o TCPDF, tem umas coisas bem complicasdas, alguns sql's que nao sao impossiveis de fazer la no pdf mais que meu conhecimento não consegue fazer.

 

Até

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quem está gerando a página for você, ou essa geração estiver sob o seu controle, pode utilizar os buffers

 

<?php

ob_start();

echo <<<HTML
<!DOCTYPE html>
<html lang="pt-BR">
   <head>
       <title>Trabalhando com buffers</title>
       <meta charset="utf-8">
   </head>
   <body>
       <h1>Saída do buffer</h1>
       <p>lorem ipsum dolor sit amet consecteur...</p>
   </body>
</html>
HTML;

$saida = ob_get_flush();

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 20/04/2012 at 14:31, Evandro Oliveira disse:

Se quem está gerando a página for você, ou essa geração estiver sob o seu controle, pode utilizar os buffers

 

<?php

ob_start();

echo <<<HTML
<!DOCTYPE html>
<html lang="pt-BR">
   <head>
       <title>Trabalhando com buffers</title>
       <meta charset="utf-8">
   </head>
   <body>
       <h1>Saída do buffer</h1>
       <p>lorem ipsum dolor sit amet consecteur...</p>
   </body>
</html>
HTML;

$saida = ob_get_flush();

 

 

Vou tentar aqui, jaja aviso se deu certo =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi,

 

Eu utilizo o DOM PDF para esse tipo de situação e costumo fazer o seguinte.

 

Vamos supor que quero gerar um pdf com as vendas de um determinado mês que recebo via post na minha página.

 

<?php 

$vendas = '

	<html>

		<head>
			<title></title>
		</head>

		<body>

			<h1>Relatório de vendas</h1>

			'.$dados->vendasMes($_POST['mes']).'

		</body>

	</html>

';

// rotina para gerar o pdf contido na variável vendas.
       ...

?>

 

Sacou? você escreve o html dentro da variável e devolve os resultados dinâmicos com uma função que pode receber os parametros que você necessitar.

 

Até mais

 

  Em 19/04/2012 at 17:49, Rafael Impacto disse:

Opa,

 

o problema vão ser os dados do form, qual a finalidade disso? derrepente achamos outra alternativa

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 20/04/2012 at 16:17, Rafael Impacto disse:

Entendi,

 

Eu utilizo o DOM PDF para esse tipo de situação e costumo fazer o seguinte.

 

Vamos supor que quero gerar um pdf com as vendas de um determinado mês que recebo via post na minha página.

 

<?php 

$vendas = '

	<html>

		<head>
			<title></title>
		</head>

		<body>

			<h1>Relatório de vendas</h1>

			'.$dados->vendasMes($_POST['mes']).'

		</body>

	</html>

';

// rotina para gerar o pdf contido na variável vendas.
       ...

?>

 

Sacou? você escreve o html dentro da variável e devolve os resultados dinâmicos com uma função que pode receber os parametros que você necessitar.

 

Até mais

 

 

 

 

 

olha só

 

 

<? 
include "setup/conexao.php";
?>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/relatorio.css" rel="stylesheet" type="text/css"/>
<link href="css/carregador.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="js/carregador.js"></script>
<script type="text/javascript" src="js/jquery-1.2.3.min.js"></script>

<title>.: Relatório de Romaneio :.</title>
</head>

<body onLoad="__loadEsconde();">

<? include "setup/carregando.php";?>

<?

if (preg_match("/Chrome/", $_SERVER['HTTP_USER_AGENT']  )) { 
       echo "<div style='padding:20px;'>";
} else {
       echo "<div>";
}

$quebra 	= explode( "/", $_POST["produtos"]);
$nome_prod  = $quebra[1];
$procodigo  = $quebra[0];


$quebra = "";

$quebra 			 = explode( "/", $_POST["unidades"]);
$nome_uni 			 = $quebra[1];
$id_unidade_trabalho = $quebra[0];

$quebra = "";

$quebra 		= explode( "/", $_POST["fardamento"]);
$nome_fard      = $quebra[1];
$id_fardamento  = $quebra[0];

$quebra = "";


$strsql = "select produtos.id, produtos.id_graduacao, produtos.nome, produtos.data, produtos.id_tamanhos, produtos.status
from produtos, item_fardamento where produtos.id = item_fardamento.id_produto";

if (!empty($procodigo)){
$strsql = $strsql." and produtos.id = $procodigo";
}
if (!empty($id_fardamento)){
	$strsql = $strsql." and item_fardamento.id_fardamento = $id_fardamento";	
}

$strsql = $strsql." group by produtos.id, produtos.id_graduacao, produtos.nome, produtos.data, produtos.id_tamanhos, produtos.status";

$sql = mysql_query($strsql);
$contar = 0;

while($list = mysql_fetch_array($sql)){
$totalgrupo = 0;
$contar = $contar + 1;
?>
<? if($contar > 1){?><div style="page-break-after: always"></div><? }?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-bottom:40px;">
 		  <tr>
   		<td width="6%" align="left" valign="middle"><img src="img/policia_imprimir.png" width="52" height="71" /></td>
   		<td width="88%" align="center" valign="middle"  >
           	<div style="height:71px; border-bottom:1px solid #000; border-top:1px solid #000; font-size:9px; padding-top:10px;">POLÍCIA MILITAR DO PARANÁ<br />
           	  <span style="font-size:18px; letter-spacing: 3px;"><b>CORPO DE BOMBEIROS</b></span><br />
           	  <span style="font-size:10px; letter-spacing: 3px; text-transform:uppercase">Sistema de Controle de Fardamentos Almoxarifado/CCB</span><br />
           	  <span style="font-size:14px; letter-spacing: 3px;"> 
				<? if(!empty($procodigo)){ 
						$titulo2 = "POR PRODUTO";
				   }else if(!empty($id_fardamento)){
					    $titulo2 = "POR FARDAMENTO";
				   }

				   if(!empty($id_unidade_trabalho)){ 
				   		$titulo = "POR UNIDADE";
				   }else{ 
				   		$titulo = "GERAL";
				   }

				   if((!empty($titulo2))&&($titulo == "POR UNIDADE")){
					   $titulo = $titulo." E ".$titulo2;
				   }else if(($titulo == "GERAL")&&(!empty($titulo2))){
					   $titulo = $titulo2;
				   }else{
				   		$titulo = $titulo2;
				   }
				?>
                   <b>RELATÓRIO DE ROMANEIOS - <?=$titulo?></b>
                 </span>
           	</div>
           </td>
   		<td width="6%" align="right" valign="middle"><img src="img/logo_verevento.jpg" width="52" height="71" /></td>
 		  </tr>
	</table>

   <?
   	if(!empty($nome_uni)){
		echo "<div style='font-size:14px; margin-bottom:5px;'><b>UNIDADE:</b> ".$nome_uni."</div>"; 
	}if(!empty($nome_prod)){
		echo "<div style='font-size:14px; margin-bottom:5px;'><b>PRODUTO:</b> ".$nome_prod."</div>"; 
	}if(!empty($nome_fard)){
		echo "<div style='font-size:14px; margin-bottom:5px;'><b>FARDAMENTO:</b> ".$nome_fard."</div>"; 
	}

?>

<table border="1" width="100%" cellspacing="0" cellpadding="0" style="border: 1px solid #000080;">
<tr>
	<td colspan="2">
	<table border="0" width="100%" cellspacing="0" cellpadding="0" bgcolor="#C0C0C0">
		<tr>
			<td width="50px" style="border-right:1px solid #808080; width: 160px;padding: 5px 0 5px;"><?=$list['nome']?></td>
			<td>
			<? 
				$sql2 = mysql_query("Select * from tamanhos_grupo where id_tamanhos = ".$list['id_tamanhos']."") or die(mysql_error()); 
				$rows2 = mysql_num_rows($sql2);
			?>
			<table border="0" width="100%" cellspacing="0" cellpadding="0">
				<tr>
					<? while($list2 = mysql_fetch_array($sql2)){?>
						<td width="<?=(700/(int)$rows2) ?>" style="border-right: 1px solid #808080; height: 25px; text-align: center;">
							<?=$list2['tamanho']?>
                           </td>
					<? }?>
				</tr>
			</table>
			 </td>
			<td width="50" style="text-align: center">
			<p align="center">Sub</td>
		</tr>
	</table>
	</td>
</tr>
<tr>
	<td colspan="2">
       <? 
	if (!empty($id_unidade_trabalho)){
		$sql3 = mysql_query("SELECT graduacao.* FROM graduacao,  pessoa WHERE pessoa.id_graduacao = graduacao.id AND id_unidade_trabalho =  $id_unidade_trabalho AND pessoa.status = 'A' GROUP BY graduacao.nome ORDER BY graduacao.sequencia") or die (mysql_error());	
	}else{
		$sql3 = mysql_query("SELECT graduacao.* FROM graduacao, pessoa where pessoa.status = 'A' GROUP BY graduacao.nome ORDER BY graduacao.sequencia") or die (mysql_error());	
	}

	while($list3 = mysql_fetch_array($sql3)){
	?>
	<table border="0" width="100%" cellspacing="0" cellpadding="0" style="border-bottom: 1px solid #C0C0C0">
		<tr>
			<td width="160px" style="border-right: 1px solid #808080;padding: 5px 0 5px;"><?=$list3['nome']?></td>
			<td>
               <? 
			$sql4 = mysql_query("Select * from tamanhos_grupo where id_tamanhos = ".$list['id_tamanhos']."") or die (mysql_error());
			$rows4 = mysql_num_rows($sql4);

			?>
			<table border="0" width="100%">
				<tr>
				<?

					$subtotal = 0;
					while($list4 = mysql_fetch_array($sql4)){
				?>
					<td width="40px" style="border-right: 1px solid #808080; height: 25px; text-align: center;">
					<? 
					if(!empty($id_unidade_trabalho)){
						$sql5= mysql_query("SELECT COUNT(*) AS quantidade FROM ((vwtamanho_produto INNER JOIN pessoa ON vwtamanho_produto.id_pessoa = pessoa.id) INNER JOIN
                       	graduacao ON pessoa.id_graduacao = graduacao.id)
						WHERE (pessoa.id_graduacao = ".$list3['id'].")and id_unidade_trabalho =  $id_unidade_trabalho AND (vwtamanho_produto.id_tamanhos_grupo = ".$list4['id'].") and vwtamanho_produto.id_produto = ".$list['id']."") or die ("Pau no banco 2".mysql_error());
					}else{
						$sql5= mysql_query("SELECT COUNT(*) AS quantidade FROM ((vwtamanho_produto INNER JOIN pessoa ON vwtamanho_produto.id_pessoa = pessoa.id) INNER JOIN
                       	graduacao ON pessoa.id_graduacao = graduacao.id)
						WHERE (pessoa.id_graduacao = ".$list3['id'].") AND (vwtamanho_produto.id_tamanhos_grupo = ".$list4['id'].") and vwtamanho_produto.id_produto = ".$list['id']."") or die ("Pau no banco".mysql_error());	
					}

						while($list5 = mysql_fetch_array($sql5)){
						if(!empty($list5['quantidade'])){
							$subtotal = $subtotal + $list5['quantidade'];
						}

						echo $list5['quantidade'];
						}?>
                         </td>
					<? }?>
				</tr>
			</table>
			<? $totalgrupo = $totalgrupo + $subtotal ?>
			</td>
			<td width="50px" style="text-align: center"><?=$subtotal?></td>
		</tr>
	</table>
	<? }?>
       </td>
</tr>
<tr>
	<td>
	<table border="0" width="100%" cellspacing="0" cellpadding="0">
		<tr>
			<td width="160" style="border-right: 1px solid #808080;padding: 5px 0 5px;">Total</td>
			<td><?
			$sql6 = mysql_query("Select * from tamanhos_grupo where id_tamanhos = ".$list['id_tamanhos']."");?>
			<table border="0" width="100%">
				<tr>
					<? while($list6 = mysql_fetch_array($sql6)){ ?>
						<td width="50px" style="border-right: 1px solid #808080; height: 25px; text-align: center;">
						<? 


						//$sql7 = mysql_query("SELECT COUNT(*) AS quantidade FROM (vwtamanho_produto INNER JOIN pessoa ON vwtamanho_produto.id_pessoa = pessoa.id) WHERE (vwtamanho_produto.id_tamanhos_grupo = ".$list6['id'].") and vwtamanho_produto.id_produto = ".$list['id']."");

						if (!empty($id_unidade_trabalho)){

						$sql7 = mysql_query("SELECT COUNT(*) AS quantidade FROM (vwtamanho_produto INNER JOIN pessoa ON vwtamanho_produto.id_pessoa = pessoa.id and id_unidade_trabalho =  $id_unidade_trabalho) WHERE (vwtamanho_produto.id_tamanhos_grupo = ".$list6['id'].") and vwtamanho_produto.id_produto = ".$list['id']."");

						}else{

							$sql7 = mysql_query("SELECT COUNT(*) AS quantidade FROM (vwtamanho_produto INNER JOIN pessoa ON vwtamanho_produto.id_pessoa = pessoa.id) WHERE (vwtamanho_produto.id_tamanhos_grupo = ".$list6['id'].") and vwtamanho_produto.id_produto = ".$list['id']."");

						}


						while($list7 = mysql_fetch_array($sql7)){
							echo $list7['quantidade'];
						}?> 

                       	</td>
					<? }?>
				</tr>
			</table>
			</td>
			<td width="50px" style="text-align: center"><?=$totalgrupo?></td>
		</tr>
	</table>

	</td>
</tr>
   </table>

<? }?>

</body>

</html>

 

o problema é que eu tenho varias instruções sql e fica dificil concatenar as coisas entende????

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Evandro Oliveira já deu a dica.

 

Utilize um buffer, e depois pego o buffer com afunção ob_get_contents

 

Fica algo assim:

 

<?php
ob_start();
?>

<form>
  Nome:<input type="text" name="nome" value="<?php echo 'Gabriel Heming'; ?>" /> <br/>
  <input type="submit" value="enviar" />
</form>
<?php
$html = ob_get_contents();
?>

 

Todo o html gerado entre ob_start() e ob_get_contents() estará na varíavel $html. O conteúdo html NÃO aparecerá na tela até ser executada a função ob_flush ou od_end_flush.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 12:25, Gabriel Heming disse:

@Evandro Oliveira já deu a dica.

 

Utilize um buffer, e depois pego o buffer com afunção ob_get_contents

 

Fica algo assim:

 

<?php
ob_start();
?>

<form>
  Nome:<input type="text" name="nome" value="<?php echo 'Gabriel Heming'; ?>" /> <br/>
  <input type="submit" value="enviar" />
</form>
<?php
$html = ob_get_contents();
?>

 

Todo o html gerado entre ob_start() e ob_get_contents() estará na varíavel $html. O conteúdo html NÃO aparecerá na tela até ser executada a função ob_flush ou od_end_flush.

 

 

 

mais kra ainda nao vai dar certo pois dara erro de sintax...

Postei acima o meu arquivo, onde contem varias consultas ao banco de dados para poder montar a pagina com os dados corretos.. Como concatenar isso tudo?? ja tentei e nao deu certo =/

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 16:03, weslley clyton disse:

mais kra ainda nao vai dar certo pois dara erro de sintax...

Postei acima o meu arquivo, onde contem varias consultas ao banco de dados para poder montar a pagina com os dados corretos.. Como concatenar isso tudo?? ja tentei e nao deu certo =/

 

Erro de sintaxe em que linha, qual palavra, qual caractere?? Já cogitou a possibilidade da gente ter digitado errado??

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 16:09, Evandro Oliveira disse:

Erro de sintaxe em que linha, qual palavra, qual caractere?? Já cogitou a possibilidade da gente ter digitado errado??

 

 

então o erro é nos <?php ?>

 

faz um teste pega o codigo que postei do meu arquivo e tenta colocar..

 

Até, e obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 16:44, weslley clyton disse:

então o erro é nos <?php ?>

 

faz um teste pega o codigo que postei do meu arquivo e tenta colocar..

 

Até, e obrigado pela atenção.

Não é assim que funciona. Você está trabalhando em um servidor com configurações própria, os testes e correções devem ser feitos nesse servidor. Por exemplo, você está usando short open tags na formatação do PHP, se for rodar no meu servidor, vai dar pau, pois não uso short open tags. Acredito até que possa ser isso.

 

insira isso no início do seu código:

<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );

 

Copie o erro que aparecer e cole aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 17:09, Gabriel Heming disse:

Não é assim que funciona. Você está trabalhando em um servidor com configurações própria, os testes e correções devem ser feitos nesse servidor. Por exemplo, você está usando short open tags na formatação do PHP, se for rodar no meu servidor, vai dar pau, pois não uso short open tags. Acredito até que possa ser isso.

 

insira isso no início do seu código:

<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );

 

Copie o erro que aparecer e cole aqui.

 

 

mais não precisa de você rodar o codigo para ver o erro, é simples erro de sintax..

 

por exemplo:

 

 

<?php

ob_start();

echo <<<HTML
<!DOCTYPE html>
<html lang="pt-BR">
   <head>
       <title>Trabalhando com buffers</title>
       <meta charset="utf-8">
   </head>
   <body>
       <h1>Saída do buffer</h1>
       <p>lorem ipsum dolor sit amet consecteur...</p>

       <? 
            $quebra         = explode( '/', 'Teste de sintax']);
            $nome_prod  = $quebra[1];
            $procodigo  = $quebra[0];
            echo $procodigo;

       ?>

   </body>
</html>
HTML;

$saida = ob_get_flush();
?>

 

 

só isso ja vai dar erro de sintax.. tipo, se eu colocar um codigo php ali dentro da erro entende???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere isso <? para isso <?php

 

talvez esse seja o erro de sintaxe.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 17:20, weslley clyton disse:

mais não precisa de você rodar o codigo para ver o erro, é simples erro de sintax..

 

por exemplo:

 

 

<?php

ob_start();

echo <<<HTML
<!DOCTYPE html>
<html lang="pt-BR">
   <head>
       <title>Trabalhando com buffers</title>
       <meta charset="utf-8">
   </head>
   <body>
       <h1>Saída do buffer</h1>
       <p>lorem ipsum dolor sit amet consecteur...</p>

       <? 
            $quebra         = explode( '/', 'Teste de sintax']);
            $nome_prod  = $quebra[1];
            $procodigo  = $quebra[0];
            echo $procodigo;

       ?>

   </body>
</html>
HTML;

$saida = ob_get_flush();
?>

 

 

só isso ja vai dar erro de sintax.. tipo, se eu colocar um codigo php ali dentro da erro entende???

 

 

Tá misturando string com código PHP.

http://br2.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora que vi o HEREDOC lá em cima,

 

quando se usa ob_start(), não é necessário utilizar variáveis para armazenar o HTML, ele é armazenado em buffer...

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Em 23/04/2012 at 17:42, Gabriel Heming disse:

Agora que vi o HEREDOC lá em cima,

 

quando se usa ob_start(), não é necessário utilizar variáveis para armazenar o HTML, ele é armazenado em buffer...

 

ta mais não entendi ainda.. como vou fazer???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente do modo tradicional:

<?php
ob_start(); ?>
<!DOCTYPE html>
<html lang="pt-BR">
   <head>
       <title>Trabalhando com buffers</title>
       <meta charset="utf-8"/>
   </head>
   <body>
       <h1>Saída do buffer</h1>
       <p>lorem ipsum dolor sit amet consecteur...</p>

       <?php 
            $quebra     = explode( '/', 'Teste de/ sintax');
            $nome_prod  = $quebra[1];
            $procodigo  = $quebra[0];
            echo $procodigo;

       ?>
   </body>
</html>
<?php 
$saida = ob_get_contents();
ob_end_clean();//é necessário caso você NÃO deseje que o código HTML apareça na tela, se quiser que apareça, comente essa linha.
var_dump( $saida );

 

você também possuía um erro nessa linha que foi corrigido:

$quebra = explode( '/', 'Teste de/ sintax');

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.