Foros del Web » Programando para Internet » PHP »

Problema VARIABLE

Estas en el tema de Problema VARIABLE en el foro de PHP en Foros del Web. Hola a todos! He aqui una duda que os hara pensar: Me gustaria saber como se puede guardar en una variable el código generado por ...
  #1 (permalink)  
Antiguo 23/07/2005, 09:59
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 13 años, 6 meses
Puntos: 1
Pregunta Problema VARIABLE

Hola a todos!
He aqui una duda que os hara pensar: Me gustaria saber como se puede guardar en una variable el código generado por una página (o código) en php.
Por ejemplo lo que busco es una cosa asi:
Código PHP:
$php = '<? echo "hola mundo" ?>';
echo $php;
// y que se imprima solo hola mundo.
Puesto que tengo pocas esperanzas de que esto sea posible, les explicare lo que de verdad quiero conseguir con esto; lo que quiero es mandar un e-mail con el codigo html generado por php y que cuando llegue al destinatario, pueda ver la página html.
  #2 (permalink)  
Antiguo 23/07/2005, 10:06
 
Fecha de Ingreso: julio-2004
Ubicación: Barcelona
Mensajes: 118
Antigüedad: 13 años, 4 meses
Puntos: 0
Utiliza BBCODE!

Haces algo así:

$mensaje = $_POST[mensaje];

pero antes de esto pon el código del bbcode... es muy facil ;)
  #3 (permalink)  
Antiguo 23/07/2005, 10:18
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 13 años, 6 meses
Puntos: 1
Gracias, pero no conozco el bbcode me puedes dar alguna web o tutorial donde pueda saber más de bbcode? Hay alguna otra manera de solucionarlo?
  #4 (permalink)  
Antiguo 23/07/2005, 10:27
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Hola, nose que quieres hacer o si lo he entendido, pero por ejemplo que has dado para que imprima hola, solamente necesitas la funcion eval(), busca ahi que tiene un par de ejemplos. Saludos.
  #5 (permalink)  
Antiguo 23/07/2005, 10:44
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 13 años, 6 meses
Puntos: 1
Muchas Gracias DarioDario!!! Es justo lo que buscaba. El código quedaria asi:
Código PHP:
<? 
$nombre 
"echo 'Hola mundo';";
echo eval(
$nombre); 
?>
Y lo que devuelve es Hola mundo
  #6 (permalink)  
Antiguo 23/07/2005, 12:31
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 13 años, 6 meses
Puntos: 1
Cómo puedo hacer para que el resultado de un eval() se guarde en una variable sin que se ejecute. Ejemplo de lo que quiero conseguir:
Código PHP:
<? 
$nombre 
"echo \"Hola mundo\";";
$resultado = eval($nombre); 
?>
Cuando haga un echo $resultado me dará Hola mundo. Por desgracia esto no es asi. Cómo lo puedo hacer??

Gracias de antemano
  #7 (permalink)  
Antiguo 23/07/2005, 15:26
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Lo que planteas nose como sulucionarlo, pero ahy algo en lo que me llamaste la atencion, cuando haces:
Código PHP:
<? 
$nombre 
"echo 'Hola mundo';"
echo eval(
$nombre); 
?>
No necesitas el echo eval($nombre); con solo poner eval($nombre); resultara. Ahora para resolver tu duda no tengo idea, pero si no mal recuerdo hay una funcion más, parecida a esta, pero tendras que buscar tal vez con ella lo puedes resolver.
Ahora como opinion propia no creo que lo puedas lograr ya que lo que hace es tomar lo pasado como codigo php, lo cual en ese codigo mandas la impresion y no creo que se pueda evitar, hay una forma que se me ocurre es que en vez de mandar echo 'Hola Mundo'; mandes otra cosa, como por ejemplo una variable definida ahi. De esa forma para poder ver "Hola Mundo" si tendrias que mandar el echo eval($nombre); y para trabajar con ella solamente haces otra asignacion o trabajas directamente con la variable definida dentro (que no estoy seguro que funcione porque nunca trabaje con eval() ).

Espero que se entianda lo que dije. Saludos y cualquier duda pregunta.
  #8 (permalink)  
Antiguo 23/07/2005, 16:40
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 13 años, 6 meses
Puntos: 1
Gracias de nuevo DarioDario, pero no consigo dar con la solución. Voy a volver a recopilar toda la información que sé para ver si entre todos podemos dar con la dificil solución.

PROBLEMA:
Lo que intento es simplemente generar un código html a partir de php y ese código almacenarlo en una variable, para después enviarla por correo.
Herramientas usadas: función eval().
Con esta función lo que conseguimos es generar el html desde php, pero lo que no he conseguido es guardar ese codigo html en una variable. Ejemplo de lo conseguido:
Código PHP:
<? 
$nombre 
"Federico";
$apellidos "Perez Sainz";
$telefono "987654321";
$email "[email protected]";
$variable ' echo \'<table width="100%">
  <tr> 
    <td><div align="center">Nombre</div></td>
    <td><div align="center">Apellidos</div></td>
    <td><div align="center">Telefono</div></td>
    <td><div align="center">E-mail</div></td>
  </tr>
  <tr> 
    <td><div align="center">\'. $nombre.\'</div></td>
    <td><div align="center">\'. $apellidos.\'</div></td>
    <td><div align="center">\'. $telefono.\'</div></td>
    <td><div align="center">\'. $email.\'</div></td>
  </tr>
</table>\';'
;
eval (
$variable);
?>
Hasta ahi bien, pero... ¿Cómo guardar el código generado (eval($variable)) en una variable para luego poderlo enviar por correo?

SOLUCION:
Hasta ahora ninguna, lo único que he encontrado es gente con el mismo problema. Puede que no haya solución, pero sí seguro una alternativa. Aqui dejo algunos enlaces, para que comprobeis que no soy el unico con el mismo problema:
http://www.forosdelweb.com/f18/asignar-contenido-archivo-variable-305572/
http://miarroba.com/foros/ver.php?fo...1&ultimomsg=si --> Esta página nos habla de un problema parecido y que llega a solucionar puede que sirva para poder llegar a nuestra solucion.
El resto de los enlaces hablan del mismo problema sin llegar a nada, no merece la pena ni ponerlos. Parece como si estuviese nadando a contracorriente espero que alguien me eche una mano y me ayude a salir del "rio".
Muchas gracias de antemano.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:42.