Problemas com Eval()
Olá,
Tenho um script para executar códigos PHP armazenados no banco de dados que não está funcionando muito bem....
$query = "SELECT * FROM tabela";$result = mysql_query($query) or die("Error: " . mysql_error());while($row = mysql_fetch_assoc($result)) { eval($row['codigo']);}
Ao executar, por exemplo o seguinte código (colocando-o na tabela do bd), o eval() não funciona.
$query = "SELECT * FROM `modulo_publicidade_campanhas`";$result = mysql_query($query) or die("Error: " . mysql_error());while($row = mysql_fetch_assoc($result)) { $query2 = "SELECT * FROM `modulo_publicidade_propagandas` WHERE (`cid`='".$row['id']."' AND (validade > NOW() OR validade = '0000-00-00 00:00:00')) ORDER BY RAND() LIMIT 0,1"; $result2 = mysql_query($query2) or die("Error: " . mysql_error()); $row2 = mysql_fetch_assoc($result2); $query3 = "UPDATE `modulo_publicidade_propagandas` SET `visualizacoes`=visualizacoes+1 WHERE `id`='".$row2['id']."'"; $result3 = mysql_query($query3) or die("Error: " . mysql_error()); if($row2['tipo'] == "imagem") { if($row2['link'] != "") { $output = '<a href="'.$row2['link'].'"><img src="'.SITE_INDEX."modulos/publicidade/".$row2['arquivo'].'" alt="'.corrigir_acentos($row2['nome']).'" /></a>'; } else { $output = '<img src="'.SITE_INDEX."modulos/publicidade/".$row2['arquivo'].'" alt="'.corrigir_acentos($row2['nome']).'" />'; } } elseif($row2['tipo'] == "flash") { $tamanho = getimagesize(SITE_PASTAS."modulos".DIRECTORY_SEPARATOR."publicidade".DIRECTORY_SEPARATOR.$row2['arquivo']); $output = '<object type="application/x-shockwave-flash" data="'.SITE_INDEX."modulos/publicidade/".$row2['arquivo'].'" width="'.$tamanho[0].'" height="'.$tamanho[1].'" title="'.corrigir_acentos($row2['nome']).'"> <param name="movie" value="'.SITE_INDEX."modulos/publicidade/".$row2['arquivo'].'" /> <param name="quality" value="high" /></object>'; } elseif($row2['tipo'] == "codigo") { $output = $row2['codigo-fonte']; } else { $output = ''; } $tpl->set('publicidade_'.$row['atalho'], $output); unset($output);}
Ao colocar o mesmo código PHP fora do eval(), ele funciona!
Alguém tem alguma explicação de como resolver esse problema???
Discussão (2)
Carregando comentários...