Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/01/2009, 19:55
Avatar de Sommy
Sommy
 
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 8 meses
Puntos: 6
Estos franceses si que hacen las cosas bien... no dejan de sorprenderme... Habia visto el eval(), pero en un ejemplo con variables dentro de comillas y pense que solo era para eso...

Gracias por la data!

Hola gente, sigo con este problema...

Al principio probe algo muy basico, que fue esto...

Código PHP:
$strColDer $arrCont[2]['contenido'];           
echo eval(
$strColDer); 
Pero me devolvio el siguiente error: Parse error: syntax error, unexpected '<'

Se me ocurrio sacarles al codigo de la base de datos las aperturas (<?php ?>), ya que segun el manual de php son innecesarias, el html me quedo asi:

Código HTML:
<tr>
    <td>require "archivo.php"; </td>
</tr> 
Nada lo mismo... Y hasta puse slashes en todos los "<" del html, nada nada y nada... Me puso en hacke... Entonces dije, "voy a buscar ejemplos en google" y todo el mundo, en todos los sitios daba el siguiente ejemplo...

Código PHP:
$cadena 'taza';
$nombre 'café';
$cad 'Esta es una $cadena con mi $nombre en ella.';
echo 
$cad"\n";
eval(
"\$cad = \"$cad\";");
echo 
$cad"\n"
Mi caso es mas complejo que unir 2 variables, y no consigo mas que errores... Modifique mi codigo por el siguiente:

Código PHP:
$strColDer $arrCont[2]['contenido'];           
echo eval(
"\$strColDer = \"$strColDer\";"); 
El primer error es:

Parse error: syntax error, unexpected T_LNUMBER in eval()'d code on line 1

Supuse que podia ser por las comillas dobles que hay en el html, dentro de la base de datos... entonces remplazo las dobles del codigo, por simples... Quedando asi...

Código PHP:
$strColDer $arrCont[2]['contenido'];           
echo eval(
'\$strColDer = \'$strColDer\';'); 
Ahora no hay error, y no hay nada! Simplemente me ignora... Entonces vuelvo el codigo a las comillas dobles y meto comillas simples en todo el html de la base... Lo mismo, ignorancia total...

Realmente no se como usar esta funcion en mi caso... Busque en el manual de php, en foros, en tutoriales... Estoy desconcertado... Encima PHP nunca se esmera para decirte bien que esta pasando, simplemente te dice "unexpected T_LNUMBER" y que ##~$% es eso!!!

Espero que puedan sacarme de este embrollo, muchas gracias!!

Ya que aun no me respondieron, aprovecho para contar lo ultimo que hice...

Encontre en wikipedia que se podia poner un "echo" dentro de la funcion eval(); El tema es que es como si hiciera un echo directamente... Si no le saco los tag de apertura <? ?> no muestra nada, y si los saco, me imprime el texto como plano, y me queda en una selda "require ...php"... El texto que use ahora es este...

Código PHP:
$strColDer $arrCont[2]['contenido'];
        eval(
'echo "$strColDer";'); 
Gracias!

Vamos por favor.... no dejen que mi teoria de que en ASP se puede y en PHP no se cumpla, defendamos a PHP!!! jajaja...

Segui buscando muchisimo, por miles de paginas, no doy con ninguna solucion... Es imposible que no se pueda meter un include en una linea de texto plano... el eval() lo pasa por alto, como si eso no fuera nada relevante...

AYUDAAA!!

Gracias!!

Última edición por GatorV; 28/01/2009 a las 11:15