Ir para conteúdo

Arquivado

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

Carcleo

[Resolvido] Utf-8 com erro de cabeçalho

Recommended Posts

Pessoal. Bom dia a todos!

 

Seguinte.

 

Vejam esse link: http://dinamicaimoveis.com.br/novo/index.php

 

Pois é. Eu uso utf-8 na conexão com o banco e nos cabeçalhos php e html das paginas

 

Meu index.php é como abaixo:

 

Pego o Notepad ++ e retirei o BOM dos arquivos para que não dê o erro que esta ocorrendo. Porem, mesmo retirando o BOM dos arquivos, em alguns deles, o BOM volta sozinho e, o BOM acrescenta um cabeçalho do tipo ':' no inicio das paginas (isso pode ser comprovado exibindo o codigo fonte - la voce verá que no incio da pagina tem la os dois pontos antes de tudo) gerando um erro de header. Dai, nem conectar ao banco consigo.

 

Alguem poderia me ajudar a resolver esse problema?

 

Segue os códigos:

index.php

<?php 
header('Content-Type: text/html; charset=utf-8'); 
include ("global/funcoes_php/var.php");
include("global/funcoes_php/conexao.php"); 
$MySQL = new TMySQL();
$MySQL->connect($host, $db, $user, $pass);
$endereco_mini="imagens/upload/venda/miniaturas/";	
$endereco_normal="imagens/upload/venda/normais/";
include("global/funcoes_php/formata_moeda.php"); 
?>
<html>
<head>
<title><?=$title;?></title>
    <link href="global/stilo.css" rel="stylesheet" type="text/css"> 
    <script language="JavaScript" src="global/funcoes_java_script/AbreImagemGrande.js"></script>
    <? include ("global/funcoes_php/campos_meta.php");	?>
 </head>
<body>
<table width="1070" border="1" bordercolor="#FFFFFF" align="center">
  <tr>
    <td align="center" ><? include("global/topo.php");   ?></td>
  </tr>
  <tr>
    <td valign="top" align="center" bgcolor="#FFFFFF"><? include("index_conteudo.php");?></td>
  </tr>
  <tr>
    <td align="center" ><? include("global/base.php");   ?></td>
  </tr>
</table>
</body>
</html>

conexao.php

<? 
class TMySQL { 
 
 var $soquete;

function connect($host,$db,$user,$pass) { 
   $this->host = "localhost"; 
   $this->db  = "xxxxx";

   $this->user = "xx";
   $this->pass = "xxx";    

   $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 );
                   }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nos metatags, feche os valores com aspas ("), pois assim irá evitar erros na renderização por parte do navegador.

O arquivo está codificado em UTF-8 também?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Questão dos : eu resolvi. Eram dois pontos perdidos em um arquivo de funções.

A questão do erro de header tambem resolvi. Era que no arquivo var.php, chamado por include, tinha chamada em duplicidade do header php.

 

Agora, a questão erro de mysql_num_rows na pagina principal eu não estou conseguindo resolver pois localmente não apresenta erro.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/dinamica/public_html/novo/index_conteudo.php on line 99
Não houve registros
Segue o código do index_conteudo.php

<table width="100%" border="1">
  <tr>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Apartamentos <br />
    1 Quarto/Quitnet</font></td>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Apartamentos <br />
    2 Quartos</font></td>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Apartamentos <br />
    2 Quartos</font></td>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Apartamentos <br />
    4 Quartos/cobertura</font></td>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Casas</font></td>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Salas e <br />
    lojas Comerciais</font></td>
    <td align="center" valign="top" bgcolor="#302162"><font color="#FFFFFF">Sítios, 
      Chácaras<br />
      Lotes e
      Outros
    </font></td>
  </tr>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top"><?=tipos_imoveis("AP1",$endereco_mini,$endereco_normal);?></td>
      </tr>
     </table>
    </td>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top"><?=tipos_imoveis("AP2",$endereco_mini,$endereco_normal);?></td>
      </tr>
     </table>
    </td>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top"><?=tipos_imoveis("AP3",$endereco_mini,$endereco_normal);?></td>
      </tr>
     </table>
    </td>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top"><?=tipos_imoveis("AP4",$endereco_mini,$endereco_normal);?></td>
      </tr>
     </table>
    </td>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top"><?=tipos_imoveis("CA",$endereco_mini,$endereco_normal);?></td>
      </tr>
     </table>
    </td>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top"><?=tipos_imoveis("SC",$endereco_mini,$endereco_normal);?></td>
      </tr>
     </table>
    </td>
    <td align="center" valign="top">
     <table width="100%" border="1">
      <tr>
       <td align="center" valign="top">
	   <?=tipos_imoveis_outros("Imovel_Tipo='OU' or Imovel_Tipo='CH' or Imovel_Tipo='LT' or Imovel_Tipo='ST' or Imovel_Tipo='FA'",$endereco_mini,$endereco_normal);?>
       </td>
      </tr>
     </table>
    </td>

  </tr>
</table>

  <!-- ///////////////////-->
     <?
  function tipos_imoveis ($imovel,$endereco_mini,$endereco_normal) {
  $sql = mysql_query("
                       Select
					        Id,
							Codigo,
							Bairro,
							Foto,
							Foto2,
							Foto3,
							Foto4,
							Foto5,
							Foto6,
							Foto7,
							Foto8,
							Foto9,
							Foto10,
							Preco	
						From
						    imoveiscadastrovenda
						where 
						    Imovel_Tipo='".$imovel."' and Baixa='N'				   
					   ");
  if(mysql_num_rows($sql) == 0) { print "Não houve registros";}
  else {
if ($Imovel_Tipo == "AP1") {$Imovel_Tipo = "Apartamento 1 quarto/ Quitinete";}
if ($Imovel_Tipo == "AP2") {$Imovel_Tipo = "Apartamento 2 quartos";}
if ($Imovel_Tipo == "AP3") {$Imovel_Tipo = "Apartamento 3 quartos";}
if ($Imovel_Tipo == "AP4") {$Imovel_Tipo = "Apartamento 4 quartos/ Cobertura";}
if ($Imovel_Tipo == "CA") {$Imovel_Tipo = "Casa";}
if ($Imovel_Tipo == "CH") {$Imovel_Tipo = "Chacara";}
if ($Imovel_Tipo == "FA") {$Imovel_Tipo = "Fazenda";}
if ($Imovel_Tipo == "LT") {$Imovel_Tipo = "Lote";}
if ($Imovel_Tipo == "SC") {$Imovel_Tipo = "Sala Comercial";}
if ($Imovel_Tipo == "ST") {$Imovel_Tipo = "Sítio";}
if ($Imovel_Tipo == "OU") {$Imovel_Tipo = "Outro";}

	   print $Imovel_Tipo."<br>";
	    while(list(
		            $Id,
					$Codigo,
					$Bairro,
					$Foto1,
					$Foto2,
					$Foto3,
					$Foto4,
					$Foto5,
					$Foto6,
					$Foto7,
					$Foto8,
					$Foto9,
					$Foto10,
					$Preco	
				  )  = mysql_fetch_row($sql)
			) {
				/////////////////////////
				   for ( $i=1; $i<11; $i++)
				{
					eval( '$valor = $Foto'.$i.';');

				
					if( $valor != '' )
					{
						//se existir um valor no campo na tabela ele testa se a foto esxiste 'fisicamente' na pasta
					  if(file_exists("$endereco_mini/$valor")){
						 if(file_exists("$endereco_normal/$valor")){
							 //se existir ele monta a exibição da foto e coloca numa variavel $foto2
							 $foto2 = "<img src=$endereco_mini/$valor border=0 width=100>";				 
							 list($width, $height) = getimagesize("$endereco_normal/$valor"); 
							 if ($width > 780) {$width = 780;}
							 $foto2 = 
							 "<a href=javascript:AbreImagemGrande('busca_conteudo_foto.php?Id=$Id','ImpNot','1100','700')>$foto2</a>";
																						  }
																						 else{
							 //se tiver um valor na tabela, mas a foto não existir na pasta a variavel fica setada como sem foto
							 $foto2 = 
							 "<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto</strong></font>";
																							 }
																					   
																					   
																						 }
																						 else{
							//se tiver um valor na tabela, mas a foto não existir na pasta a variavel fica setada como sem foto
							$foto2 = 
							"<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto</strong></font>";
																							 }
								break;
					}
					
				}

             
				/////////////////////////
				print "Referência: ".$Codigo."<br>"; 
				print "Bairro: ".$Bairro."<br>";
				print $foto2."<br>";
				print "Preço: ".formata_moeda($Preco)."<br>------------<br>";	
			  }
	   
       }}
   ?>
   
<!-- ///////////////////-->   
     <?
  function tipos_imoveis_outros ($imovel,$endereco_mini,$endereco_normal) {
  $sql = mysql_query("
                       Select
					        Id,
							Codigo,
							Bairro,
							Foto,
							Foto2,
							Foto3,
							Foto4,
							Foto5,
							Foto6,
							Foto7,
							Foto8,
							Foto9,
							Foto10,
							Preco	
						From
						    imoveiscadastrovenda
						where 
						    $imovel and Baixa='N'				   
					   ");
  if(mysql_num_rows($sql) == 0) { print "Não houve registros";}
  else {
if ($Imovel_Tipo == "AP1") {$Imovel_Tipo = "Apartamento 1 quarto/ Quitinete";}
if ($Imovel_Tipo == "AP2") {$Imovel_Tipo = "Apartamento 2 quartos";}
if ($Imovel_Tipo == "AP3") {$Imovel_Tipo = "Apartamento 3 quartos";}
if ($Imovel_Tipo == "AP4") {$Imovel_Tipo = "Apartamento 4 quartos/ Cobertura";}
if ($Imovel_Tipo == "CA") {$Imovel_Tipo = "Casa";}
if ($Imovel_Tipo == "CH") {$Imovel_Tipo = "Chacara";}
if ($Imovel_Tipo == "FA") {$Imovel_Tipo = "Fazenda";}
if ($Imovel_Tipo == "LT") {$Imovel_Tipo = "Lote";}
if ($Imovel_Tipo == "SC") {$Imovel_Tipo = "Sala Comercial";}
if ($Imovel_Tipo == "ST") {$Imovel_Tipo = "Sítio";}
if ($Imovel_Tipo == "OU") {$Imovel_Tipo = "Outro";}

	   print $Imovel_Tipo."<br>";
	    while(list(
		            $Id,
					$Codigo,
					$Bairro,
					$Foto1,
					$Foto2,
					$Foto3,
					$Foto4,
					$Foto5,
					$Foto6,
					$Foto7,
					$Foto8,
					$Foto9,
					$Foto10,
					$Preco	
				  )  = mysql_fetch_row($sql)
			) {
				/////////////////////////
				   for ( $i=1; $i<11; $i++)
				{
					eval( '$valor = $Foto'.$i.';');

				
					if( $valor != '' )
					{
						//se existir um valor no campo na tabela ele testa se a foto esxiste 'fisicamente' na pasta
					  if(file_exists("$endereco_mini/$valor")){
						 if(file_exists("$endereco_normal/$valor")){
							 //se existir ele monta a exibição da foto e coloca numa variavel $foto2
							 $foto2 = "<img src=$endereco_mini/$valor border=0 width=100>";				 
							 list($width, $height) = getimagesize("$endereco_normal/$valor"); 
							 if ($width > 780) {$width = 780;}
							 $foto2 = 
							 "<a href=javascript:AbreImagemGrande('busca_conteudo_foto.php?Id=$Id','ImpNot','1100','700')>$foto2</a>";
																						  }
																						 else{
							 //se tiver um valor na tabela, mas a foto não existir na pasta a variavel fica setada como sem foto
							 $foto2 = 
							 "<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto</strong></font>";
																							 }
																					   
																					   
																						 }
																						 else{
							//se tiver um valor na tabela, mas a foto não existir na pasta a variavel fica setada como sem foto
							$foto2 = 
							"<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto</strong></font>";
																							 }
								break;
					}
					
				}

             
				/////////////////////////
				print "Referência: ".$Codigo."<br>"; 
				print "Bairro: ".$Bairro."<br>";
				print $foto2."<br>";
				print "Preço: ".formata_moeda($Preco)."<br>------------<br>";	
			  }
	   
       }}
   ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se a conexão com o banco está correta, ou então adicione um or die(mysql_error()) na linha do mysql_query.

 

Sugiro que utilize <?php ao invés de <? , pois alguns servidores não dão suporte a short tags, e creio que no PHP 6 não será mais possível utilizar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A tabela era ImoveisCadastroVenda e nao imoveiscadastrovenda. Só erro de case sensitive.

 

Parece que é só colocar a pergunta no forum que a gente acha o erri.

 

Bom, pelo menos pode ser que sirva para ajudar mais alguem.

 

Obrigado a todos.

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.