Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] sentencia php dentro de un echo

Estas en el tema de sentencia php dentro de un echo en el foro de PHP en Foros del Web. Hola a tod@s, Tengo un script que, por más vueltas que le doy, no consigo eliminar el bug: Código PHP: <?php      if (  is_user_logged_in () ) { ...
  #1 (permalink)  
Antiguo 13/05/2014, 10:41
 
Fecha de Ingreso: octubre-2013
Ubicación: Sevilla
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
sentencia php dentro de un echo

Hola a tod@s,
Tengo un script que, por más vueltas que le doy, no consigo eliminar el bug:
Código PHP:
<?php
    
if ( is_user_logged_in() ) {
      echo
"
          <a class=\"tile tile-members\" href=\"<?php echo home_url(); ?>/<?php _e(\"members\", \"Cinematix\"); ?>\"><span class=\"tile-title\"><?php _e(\"MEMBERS\", \"Cinematix\"); ?></span></a>

        <a class=\"tile tile-groups\" href=\"<?php echo home_url(); ?>/<?php _e(\"groups\", \"Cinematix\"); ?>\"><span class=\"tile-title\"><?php _e(\"GROUPS\", \"Cinematix\"); ?></span></a>

        <a class=\"tile tile-activity\" href=\"<?php echo home_url(); ?>/<?php _e(\"activity\", \"Cinematix\"); ?>\"><span class=\"tile-title\"><?php _e(\"ACTIVITY\", \"Cinematix\"); ?></span></a>
        "
;
     } else {}
?>
Entiendo que dentro de PHP no hace falta volver a abrir la etiqueta <?php, pero si codeo esto:
Código PHP:
echo
            
"<a class=\"tile tile-members\" href=\"home_url()/_e('members', 'Cinematix')\"><span class=\"tile-title\">_e(\"MEMBERS\", \"Cinematix\");</span></a>" 
me imprime home_url()/_e( en la URL de destino.

¿Qué está mal?

Gracias por adelantado.
  #2 (permalink)  
Antiguo 13/05/2014, 10:57
 
Fecha de Ingreso: abril-2013
Mensajes: 61
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: sentencia php dentro de un echo

Las comillas estan mal y se concatena con el punto, algo asi

Código PHP:
Ver original
  1. echo'<a class=\"tile tile-members\" href=\'.home_url().'/';
  #3 (permalink)  
Antiguo 13/05/2014, 11:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: sentencia php dentro de un echo

Necesitas aprender a concatenar expresiones en un cadena, eso es básico:

Código PHP:
Ver original
  1. echo  'esto es una cadena' . esto_es_una_expresion() . 'esta es otra cadena';

Revisa un manual, te hace falta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 13/05/2014, 14:14
 
Fecha de Ingreso: octubre-2013
Ubicación: Sevilla
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: sentencia php dentro de un echo

Gracias a los dos por la ayuda.

Finalmente repasé las sentencias de PHP y queda así:
Código PHP:
<?php
    
if ( is_user_logged_in() ) {

        
?>

          <a class="tile tile-members" href="<?php echo home_url(); ?>/<?php _e('members''Cinematix'); ?>\"><span class="tile-title"><?php _e('MEMBERS''Cinematix'); ?></span></a>

        <a class="tile tile-groups" href="<?php echo home_url(); ?>/<?php _e('groups''Cinematix'); ?>\"><span class="tile-title"><?php _e('GROUPS''Cinematix'); ?></span></a>

        <a class="tile tile-activity" href="<?php echo home_url(); ?>/<?php _e('activity''Cinematix'); ?>\"><span class=\"tile-title\"><?php _e('ACTIVITY''Cinematix'); ?></span></a>

        <?php

     
} else {

         
?>
            
        <?php
     
}
?>
Ahora funciona a la perfección.

Gracias.

Etiquetas: echo, sentencia
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 14:10.