Foros del Web » Programando para Internet » PHP »

Ejecutar código guardado en un registro

Estas en el tema de Ejecutar código guardado en un registro en el foro de PHP en Foros del Web. Hola, Tengo este problema, inserto en una base de datos algún registro que lleve código php, pero al mostrar el registro e intentar que se ...
  #1 (permalink)  
Antiguo 23/01/2007, 05:11
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 18 años
Puntos: 0
Ejecutar código guardado en un registro

Hola,

Tengo este problema, inserto en una base de datos algún registro que lleve código php, pero al mostrar el registro e intentar que se ejecute, simplemente no muestra nada.

¿Habrá alguna manera de que lo haga?... Espero que sí.

Agradezco cualquier ayuda que pudieran brindarme, de antemano... Gracias.
  #2 (permalink)  
Antiguo 23/01/2007, 05:22
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: Ejecutar código guardado en un registro

Con eval("codigo");

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 23/01/2007, 15:32
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar código guardado en un registro

Gracias por responder,

En sí, esa es la función adecuada para lo que necesito, por otra parte no consigo hacerla funcionar, lo hago de estas maneras:

Código PHP:
$codigo $row['codigo'];
echo 
$codigo"\n";
eval(
"\$codigo = \"$codigo\";");
echo 
$codigo"\n";
/* En este me da el error:
Parse error: syntax error, unexpected T_STRING in e:\AppServ\www\p12\listar.php(19) : eval()'d code on line 2 */ 
Código PHP:
$codigo $row['codigo'];
echo 
$codigo"\n";
eval(
"$codigo");
echo 
$codigo"\n";
/* En este me da el error: 
Parse error: syntax error, unexpected '<' in e:\AppServ\www\p12\listar.php(19) : eval()'d code on line 1 */ 
En ninguno de los dos me da error, pero tampoco me muestra nada, es increíble... La única parte que me falta para terminar la programación y es la que más me hace batallar.

¿Habrá algúna solución?

Última edición por adolfo187; 23/01/2007 a las 15:41
  #4 (permalink)  
Antiguo 23/01/2007, 17:13
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: Ejecutar código guardado en un registro

Si en nuinguno de los dos caso te muestra nada de nada...

Código PHP:
<?php
$codigo 
$row['codigo'];
echo 
$codigo"\n"
?>
...deberias fijarte que es lo que tenes en la base de datos (hay algo?, no falla la consulta? estas seguro que $row["codigo"] tiene algo?). Pon una muestra de un registro y vemos como se puede solucionar.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 23/01/2007, 17:47
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar código guardado en un registro

Claro, mira... si pongo con htmlspecialchars() así:

Código PHP:
echo "".htmlspecialchars($row['codigo']).""
Muestra lo que hay en la base de datos:
En seguida inicia el php: <? include("prueba.php"); ?>

Si lo pongo sin htmlspecialchars() no muestra nada. En el email de la respuesta te llegó que no me salía nada, por que tenía mal el $row con un campo que no existía, por eso ya después edité el mensaje.

Se que debe haber algún metodo, por que si mal no recuerdo hay un plugin para WordPress que lo hace, pero no entiendo por qué me da error usando la función de la manera que se dice en php.net
  #6 (permalink)  
Antiguo 23/01/2007, 17:58
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: Ejecutar código guardado en un registro

El problema es como tenes guardado el codigo, eval solo te lo entendera si es tal cual php <?php echo "algo"; ?>, sino, lo dudo....

Lo voy a mirar, a mi tambien me pico la curiosidad jeje

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar

Última edición por Fridureiks; 23/01/2007 a las 18:05
  #7 (permalink)  
Antiguo 23/01/2007, 18:08
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar código guardado en un registro

Pues no, el código php está correcto y al hacer esto:

Código PHP:
$codigo $row['codigo'];
eval(
"$codigo"); 
Cita:
Me da este error si el regitro contiene php:
Parse error: syntax error, unexpected T_STRING in e:\AppServ\www\p12\listar.php(20) : eval()'d code on line 1
Cita:
Si no tiene código php me da este:
Parse error: syntax error, unexpected $end in e:\AppServ\www\p12\listar.php(20) : eval()'d code on line 1
Cosa rara, agradezco mucho tu intención de ayudarme. Pero al parecer no le encuentro solución.
  #8 (permalink)  
Antiguo 23/01/2007, 18:12
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: Ejecutar código guardado en un registro

Podrias facilitar el codigo que contiene $row["codigo"]?
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #9 (permalink)  
Antiguo 23/01/2007, 19:45
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar código guardado en un registro

Esto es lo que contiene el registro:

Cita:
En seguida inicia el php:
<?php
include("prueba.php");
?>
  #10 (permalink)  
Antiguo 23/01/2007, 19:51
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 19 años, 4 meses
Puntos: 6
Re: Ejecutar código guardado en un registro

Mira, esto funciona:

Código PHP:
<?php
$custom 
'include("prueba.txt");';
eval(
$custom);
?>
Quiza solo es cuestion de quitar los <? y ?>


Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #11 (permalink)  
Antiguo 23/01/2007, 20:04
 
Fecha de Ingreso: noviembre-2006
Mensajes: 9
Antigüedad: 18 años
Puntos: 0
Re: Ejecutar código guardado en un registro

Bueno, ¡ya funcionó al fin!

El pequeño problema es que todo lo tendré que hacer como si estubiera escribiendo php, ya sabes... echo "texto y demás"; pero ya jugaré con el código para ver la manera de que solo aparezca cuando yo así lo quiera.

Muchas gracias por tu tiempo y paciencia. ¡Un saludote amigo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:31.