Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/05/2015, 14:22
martinpedulla
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Imprimir variable con código php

AH disculpa nuevamente. Hay casos en los que esto no me funciona y la verdad no se si tenga solución.
Supongamos el siguiente ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $variable = "if(2==1) {";
  3. eval ($variable);
  4. echo 'hola';
  5. $variable2 = "}";
  6. eval($variable2);
  7. ?>

En este caso no me funciona. o sea, lo que en realidad estoy tratando de hacer es el tema del modelo vista controlador. pero como no se mucho de programacion orientada a objetos, trato de separar el php del html poniendo asi:
En una pagina llamada interfaz.php
Código HTML:
Ver original
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Documento sin título</title>
  4. </head>
  5.  
  6. {if sesion iniciada} INICIAR SESION {cierre if} <br>
  7. {if sesion no iniciada} CERRAR SESION {cierre if} <br>
  8. </body>
  9. </html>

y en una pagina llamada backend.php pongo:
Código PHP:
Ver original
  1. <?php
  2. $diccionario = array();
  3. $diccionario['if sesion iniciada'] = '<?php if(isset($_SESSION["id_usuario"])) { ?>';
  4. $diccionario['if sesion no iniciada'] = '<?php if(!isset($_SESSION["id_usuario"])) { ?>';
  5. $diccionario['cierre if'] = '<?php  } ?> ';
  6.  
  7. $template = file_get_contents('interfaz.php');
  8. foreach ($diccionario as $clave=>$valor) {
  9.     $template = str_replace('{'.$clave.'}' , $valor, $template);
  10. }
  11. print $template;
  12.  
  13. ?>

Pero no me funciona, me devuelve:
INICIAR SESION
CERRAR SESION

o sea, no me interpreta el php.
Con EVAL tampoco funciona.
No se si fui claro. hay alguna otra forma de hacer esto? Gracias