Foros del Web » Programando para Internet » PHP »

Error de sintaxis

Estas en el tema de Error de sintaxis en el foro de PHP en Foros del Web. Hola buenas tengo un problemilla, soy nueva en esto, a ver si me podéis ayudar. Tengo este código: Código PHP: echo  '                 };             // ]]></script>                 ' ...
  #1 (permalink)  
Antiguo 19/04/2012, 09:38
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Pregunta Error de sintaxis

Hola buenas tengo un problemilla, soy nueva en esto, a ver si me podéis ayudar.

Tengo este código:
Código PHP:
echo '
                };
            // ]]></script>
                '
$message['is_replied_to'] ? '<img src="' $settings['images_url'] . '/icons/pm_replied.png" style="margin-right: 4px;" alt="' $txt['pm_replied'] . '" />' '<img src="' $settings['images_url'] . '/icons/pm_old.png" style="margin-right: 4px;" alt="' $txt['pm_read'] . '" />''</td>
            <td>'
$message['time'], </td
y quiero modificarlo por algo asi:
Código PHP:
echo '
                };
            // ]]></script>
                '
, if ($message['is_replied_to']){
                    
'<img src="' $settings['images_url'] . '/icons/pm_replied.png" style="margin-right: 4px;" alt="' $txt['pm_replied'] . '" />';
                } elseif (
$message['is_unread']){
                    
'<img src="' $settings['images_url'] . '/icons/pm_new.png" style="margin-right: 4px;" alt="' $txt['new'] . '" />';
                } else {
                    
'<img src="' $settings['images_url'] . '/icons/pm_old.png" style="margin-right: 4px;" alt="' $txt['pm_read'] . '" />';
                } , 
'</td>
            <td>'
$message['time'], </td
parece ser que hay errores pero no se donde exactamente. A ver si alguien me ilumina.

Gracias.
  #2 (permalink)  
Antiguo 19/04/2012, 09:43
 
Fecha de Ingreso: mayo-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 3
Respuesta: Error de sintaxis

Seria bueno que coloques que error te da.

Aunque creo que el problema es que estas metiendo todo en el echo, en lugar de cerrarlo para cada if

Ejemplo:
Código PHP:
if($mensaje == 'hola'){
echo 
'saludo';
}elseif(
$mensaje == 'chau'){
echo 
'despedida';
}else{
echo 
'desconocido';

__________________

Te invito a mi web: http://www.YouAres.com

En donde podras encontrar música, escucharla online y/o descargarla totalmente gratis.

  #3 (permalink)  
Antiguo 19/04/2012, 10:07
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Error de sintaxis

Cita:
Iniciado por Grox Ver Mensaje
Seria bueno que coloques que error te da.

Aunque creo que el problema es que estas metiendo todo en el echo, en lugar de cerrarlo para cada if

Ejemplo:
Código PHP:
if($mensaje == 'hola'){
echo 
'saludo';
}elseif(
$mensaje == 'chau'){
echo 
'despedida';
}else{
echo 
'desconocido';

eso ya lo probé y nada. el error que me da:

Código:
Por favor revisa la sintaxis e intenta nuevamente - recuerda, los apóstrofes (') por lo general deben tener una secuencia de escape con la diagonal invertida (\)

syntax error, unexpected T_IF.
  #4 (permalink)  
Antiguo 19/04/2012, 10:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error de sintaxis

Claro, no puedes meter bloques lógicos si estás imprimiendo cadenas.

Primero debes dejar de imprimir, y luego, en otra secuencia implementar la lógica.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/04/2012, 10:15
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Error de sintaxis

Tu código contiene mucho errores de sintaxis olvídate de tu código y mejor explica que es lo que quieres hacer.

PD: Nunca entendí la existencia de las coma en algunos punto de tu código

Saludos.
  #6 (permalink)  
Antiguo 19/04/2012, 10:16
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Error de sintaxis

Cita:
Iniciado por pateketrueke Ver Mensaje
Claro, no puedes meter bloques lógicos si estás imprimiendo cadenas.

Primero debes dejar de imprimir, y luego, en otra secuencia implementar la lógica.
gracias por tu respuesta amigo pero no lo entindo. ya dije que no tengo mucha idea de esto. si me lo pudieses aclarar mejor te lo agradecería. xD
  #7 (permalink)  
Antiguo 19/04/2012, 10:19
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Error de sintaxis

Cita:
Iniciado por gjx2 Ver Mensaje
Tu código contiene mucho errores de sintaxis olvídate de tu código y mejor explica que es lo que quieres hacer.

PD: Nunca entendí la existencia de las coma en algunos punto de tu código

Saludos.
lo que puse solo es un trozo, el codigo es más largo.

lo que hace originalmente como puedes ver es si una condicion se cumple, imprime una imagen y si no otra. lo que quiero hacer es que analice entre 3 condiciones y no entre dos no se si me explico
  #8 (permalink)  
Antiguo 19/04/2012, 10:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Error de sintaxis

Se refiere a que primero debes de dejar de imprimir lo que estés haciendo para meter tu condicional:
Código PHP:
Ver original
  1. echo 'aqui imprimo una parte de lo que quiero'; //<- con ; terminas la sentencia
  2. if (lacondicionquebusco()) {
  3.         echo 'imprimo otra cosa en base a la condición'; //<- ; termina la sentencia
  4. } elseif (otracondicion()) {
  5.         echo 'imprimo otra cosa en base a la otra condición';
  6. } else {
  7.         echo 'imprimo lo que se queda por defecto';
  8. }
  9. echo 'imprimo más cosas';

Saludos.
  #9 (permalink)  
Antiguo 19/04/2012, 10:32
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Error de sintaxis

vale muchas gracias a todos, ya lo conseguí.

un abrazo

Etiquetas: sintaxis
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 06:39.