Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2007, 15:35
Avatar de -=ArgoN=-
-=ArgoN=-
 
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Error en un "eval()"

Hola a todos,

Estoy intentando evaluar un código php como cadena de texto con la función eval() pero ésta me da un error:

Cita:
Parse error: syntax error, unexpected $end in /mounted-storage/home37a/sub002/sc30230-UGAH/top100anuncios/cpanel/noticias.php(312) : eval()'d code on line 77
Lo que me supongo que significa que hay algunas comillas sin cerrar. Ahora bien, he hecho un echo de la cadena a evaluar y me devuelve esto:

Código PHP:
"\$custom_pattern = \"Bienvenida Clientes\";\$loaded = \"\";\$send_email = \"0\";\$pattern_name = \"Bienvenida Clientes\";\$delete_pattern = \"\";\$replace_pattern = \"1\";\$default_welcome = \"\";\$default_welcome_name = \"\";\$post_logged_client = \"\";\$pattern_title = \"Bienvenida Clientes\";\$destination = \"clients\";\$addressee = \"1\";\$affected1 = \"19\";\$auto = \"\";\$privacy = \"0\";\$affected2 = \"13\";\$affected_perc = \"68.42 %\";\$emails = \"varios emails separados por comas...\";\$subject1 = \"\";\$subject2 = \"\";\$body = \"código html sin ningun tipo de comillas\";\$signature_cb = \"on\";\$signature_img = \"on\";\$signature = \"código html sin ningun tipo de comillas\";\$fpatterns = \"pattern0\";" 
Pero por lo que se puede "ver" la cadena empieza con " y acaba con " tambien por lo tanto no se de que se esta quejando...

Para más información, el código a evaluar lo estoy guardando en una base de datos MySql y lo genero con php de esta manera:

Código PHP:
foreach($_POST as $key => $value){
    
$custom .= "\\\\$".$key.' = \\\\"'.$value.'\\\\"; ';

Y finalmente lo extraigo de la base de datos así:

Código PHP:
$evaled '"'.trim($sel_patterns_fa['Custom']).'"'//envuelvo la cadena de código a evaluar entre comillas dobles (")
echo "<textarea>".$evaled."</textarea>"//<-- este es el echo que puse arriba (sin el textarea claro)
eval($evaled); 
He estado probando otras mil combinaciones de comillas y barras invertidas y ninguna me ha dado un buen resultado

Si alguien sabe decirme el porque le estaré muy agradecido =)

ArgoN