Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola,
nao estou conseguindo fazer com que a funcao file_get_contents() leia um arquivo .php. Neste arquivo .php tenho um while que imprime registros com a funcao echo, vindos do bd mysql. Dando um echo na funcao file_get_contents(), imprime apenas codigo html deixando de imprimir os registros do bd.
Desde já agradeço.
Estou querendo carregar o conteudo do site numa div central. Para isso temos os seguintes arquivos:
index.php
CODE
<?
include("config/funcoes_tab.php");
require("config/lib.php");
//Lê o parâmetro i (índice do conteúdo)
$i= 1;
if(isset($_GET["i"]))$i=$_GET["i"];
?><html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>: : DAY CORP - Spa Center : :</title>
<script type="text/javascript" src="config/ajax.js"></script>
<body rightmargin="0" bottommargin="0" leftmargin="0" topmargin="0">
<div id="menu"><a href="index.php?i=1" <? classi(1) ?> >Home</a> - <a href="index.php?i=2" <? classi(2) ?> >Day Corp</a> - <a href="index.php?i=3" <? classi(3) ?> >Doutora</a></div>
<div id="conteudo"> <!-- e nesta div que o conteudo do site e carregado -->
<?=leconteudo($i)?>
</div>
</body>
</html>
ajax.js
CODE
try{
xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
}
atual=0
function carrega(n){
//Exibe o texto carregando no div conteúdo
var conteudo=document.getElementById("conteudo")
conteudo.innerHTML='<div class="carregando">carregando...</div>'
//Guarda a página escolhida na variável atual
atual=n
//Abre a url
xmlhttp.open("GET", "funcoes_tab.php?n="+n,true);
//Executada quando o navegador obtiver o código
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4){
//Lê o texto
var texto=xmlhttp.responseText
//Desfaz o urlencode
texto=texto.replace(/\+/g," ")
texto=unescape(texto)
//Exibe o texto no div conteúdo
var conteudo=document.getElementById("conteudo")
conteudo.innerHTML=texto
//Obtém os links do menu
var menu=document.getElementById("menu")
var links=menu.getElementsByTagName("a")
//Limpa as classes do menu
for(var i=0;i<links.length;i++)
links[i].className=""
//Marca o selecionado
links[atual-1].className="selected"
}
}
xmlhttp.send(null)
}
function menuclick(e){
//Correção para eventos quebrados da Microsoft
if(typeof(e)=='undefined')var e=window.event
source=e.target?e.target:e.srcElement
//Correção para o bug do Konqueror/Safari
if(source.nodeType==3)source=source.parentNode
//Obtém o número quebrando a url
n=source.getAttribute("href").replace(/.*=/,"")
//Chama o carrega
carrega(parseInt(n))
//Cancela o click (evita a navegação)
return false
}
function init(){
//Obtém os links do menu
var menu=document.getElementById("menu")
var links=menu.getElementsByTagName("a")
//Atribui o evento
for(var i=0;i<links.length;i++)
links[i].onclick=menuclick
}
if(xmlhttp)window.onload=init
funcoes_tab.php
CODE
<?
/*
Lê o conteúdo de índice n. Aqui estou lendo de arquivos
html no disco, para não perdermos tempo com coisas que
fogem ao escopo do artigo. No mundo real, geralmente você
vai ler isso aqui do banco de dados, ou usar uma função
pronta disponibilizada por seu CMS.
*/
function leconteudo($n){
return file_get_contents("$n.php");
}
//Insere class="selected" se n=i
function classi($n){
global $i;
if($n==$i)echo ' class="selected"';
}
/*
Essa aqui é a parte necessária para o Ajax. Se este
arquivo for chamado sozinho, recebendo um parâmetro
n, ele retorna o texto de índice n. Passa pela
função urlencode por causa dos bugs do MSXML com
acentos (valeu mais uma vez, Bill!)
*/
if(isset($_GET["n"])){
$t=leconteudo(intval($_GET["n"]));
echo(urlencode($t));
}
?>
1.php
CODE
<table align="center">
<tr>
<td><table width="760" align="center">
<tr>
<td width="595" valign="top"><table width="605" height="362">
<tr>
<td width="290" height="211" valign="top"><img src="img/RECEITAS.jpg" width="290" height="200" /></td>
<td width="1" rowspan="3" valign="top"> </td>
<td width="298" valign="top"><img src="img/DICAS.jpg" width="290" height="200" /></td>
</tr>
<tr>
<td valign="top" class="style39"> </td>
<td> </td>
</tr>
<tr>
<td valign="top" class="style29"><table width="289" height="134">
<?php
$con = mysql_connect("localhost","root","");
mysql_select_db("daycorp");
$sql000 = mysql_query("select noticias_id, noticias_titulo, noticias_data from noticias order by noticias_data1 desc limit 6") or die (mysql_error());
while($row000 = mysql_fetch_array($sql000)){
print "<tr>
<td><p>
<a href=\"noticias.php?id={$row000[noticias_id]}\">
<p class=\"style42\">
<img src=\"img/seta_verde.gif\" width=\"12\" height=\"8\" border=\"0\" />Postado dia {$row000[noticias_data]}<br />
<strong>{$row000[noticias_titulo]}</strong> <br />
Leia <img src=\"img/ico_mais.gif\" width=\"11\" height=\"12\" border=\"0\" /></p></a></p> </td>
</tr>";
}
?>
</table> </td>
<td valign="top"><table width="289" height="134">
<?php
$sql001 = mysql_query("select dicas_id, dicas_titulo, dicas_data from dicas order by dicas_data1 desc limit 6") or die (mysql_error());
while($row001 = mysql_fetch_array($sql001)){
print"
<tr>
<td>
<a href=\"dicas.php?id={$row001[dicas_id]}\">
<p class=\"style42\"><img src=\"img/seta_verde.gif\" width=\"12\" height=\"8\" border=\"0\" />Postado dia {$row001[dicas_data]}<br />
<strong>{$row001[dicas_titulo]}</strong><br />
Leia <img src=\"img/ico_mais.gif\" width=\"11\" height=\"12\" border=\"0\" /></p></a></td>
</tr>";
}
?>
</table></td>
</tr>
</table></td>
<td width="153" valign="top">
<!-- galeria -->
<script type="text/javascript" language="javascript" src="lytebox/lytebox.js"></script>
<link rel="stylesheet" href="lytebox/lytebox.css" type="text/css" media="screen" />
<table width="150" align="right">
<tr>
<td width="144" bgcolor="#36C5A8"><div align="center"><span class="style22">GALERIA</span></div></td>
</tr>
<?php
$sql015 = mysql_query("select galeria_id, galeria_imagem, galeria_imagem_thumb from galeria order by rand() limit 4") or die (mysql_error());
while($row015 = mysql_fetch_array($sql015)){
print "<tr>
<td height=\"98\" ><a href=\"imagens/{$row015[galeria_imagem]}\" rel=\"lytebox\" ><img src=\"imagens/{$row015[galeria_imagem_thumb]}\" width=\"145\" height=\"100\" border=\"0\" /></a></td>
</tr>";
}
?>
<tr>
<td height="98" align="left" valign="top" background=><table width="145" border="0" bgcolor="#36C5A8">
<tr>
<td width="145" height="10" bgcolor="#36C5A8"><div align="center"><span class="style53">Newslleter</span></div></td>
</tr>
<tr>
<td bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style29"><div align="justify" class="style33">
<div align="center">Cadastre-se re receba periódicamente informações da área de estética.</div>
</div></td>
</tr>
<tr>
<td bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style51"></td>
</tr>
<tr>
<td width="145" bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style51">Nome</td>
</tr>
<tr>
<td width="145" bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style51">Fone</td>
</tr>
<tr>
<td bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style51">E-mail</td>
</tr>
<tr>
<td align="center" valign="middle" bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style51"></td>
</tr>
<tr>
<td width="145" align="center" valign="middle" bordercolor="#ECECF1" bgcolor="#FFFFFF" class="style51"><input name="Submit" type="submit" class="style51" value="cadastrar" /></td>
</tr>
</table></td>
</tr>
<tr>
<td></td>
</tr>
</table>
<!-- FIM GALERIA -->
</td>
</tr>
<tr>
<td>............................................................................
..........................................................................</td>
<td class="style38"><div align="center" class="style47">ÁREA RESTRITA </div></td>
</tr>
</table></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<!-- FIM CONTEUDO -->$sql015 = mysql_query("select galeria_id, galeria_imagem, galeria_imagem_thumb from galeria order by rand() limit 4") or die (mysql_error());
while($row015 = mysql_fetch_array($sql015)){
print "<tr>
<td height=\"98\" ><a href=\"imagens/{$row015[galeria_imagem]}\" rel=\"lytebox\" ><img src=\"imagens/{$row015[galeria_imagem_thumb]}\" width=\"145\" height=\"100\" border=\"0\" /></a>
O print não imprime o $row015[galeria_imagem].
Li no php.net que a funcao eval executa uma string como codigo php, porem acho que nao executa loops como while, razao de nao ter funcionado a solucao do TiuTalk.
Desde ja agradeco.
Tente:
eval(file_get_contents());