Foros del Web » Programando para Internet » PHP »

If, en qué fallo?

Estas en el tema de If, en qué fallo? en el foro de PHP en Foros del Web. Hola a todos, en este momento me siento tonto: tengo una variable (mus) sacada de un Javascript que va bien: <?php $destinatario = "<script> document.write(mus) ...
  #1 (permalink)  
Antiguo 12/02/2008, 08:48
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 7 meses
Puntos: 12
If, en qué fallo?

Hola a todos, en este momento me siento tonto:

tengo una variable (mus) sacada de un Javascript que va bien:


<?php $destinatario = "<script> document.write(mus) </script>";

echo $destinatario;

if($destinatario=="no"){

echo "<td>Lometo</td>";}

else{

echo "<td>Nolometo</td>";
}
?>

Depende de la página me sale "si" o "no" a través del echo $destinatario, por lo que esta variable me va bien, sin embargo me sale en una:

si Nolometo


y en otra:

no Nolometo

Deduzco que el fallo está en la condición, no soy bueno en PHP pero creía que me daba para un if. ¿Cuál es el fallo?

Gracias
__________________
Chanante!
  #2 (permalink)  
Antiguo 12/02/2008, 09:33
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
Re: If, en qué fallo?

Te falla en que tu no puedes hacer esto:
Código PHP:
$destinatario "<script> document.write(mus) </script>"
Eso lo que hace es le asigna a $destinatario la variable <script> document.write(mus) </script>, no el resultado del document.write, por lo que nunca te va a evaluar a si o no.

Aunque tu lo imprimas con echo $destinatario, te va a imprimir <script> document.write(mus) </script>, que si lo ves en el explorador lo evalua como html y te muestra el si o no.

Si tu deseas pasar el valor necesitas enviarlo vía un formulario (via GET o POST), o si no deseas cambiar la pagina usando AJAX.

Saludos.
  #3 (permalink)  
Antiguo 12/02/2008, 09:43
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 7 meses
Puntos: 12
Re: If, en qué fallo?

Gracias! por un lado ya me siento mejor por saber que hago bien el if y por otro me veo en un problema que seguro sabrás responder, la variable javascript la recojo de un javascript y uso indexOf para localizar una cadena de texto en la url, cómo lo hago en php?

var musgo="task=view";
if (location.href.indexOf(musgo) !=-1){
var mus="si";
}else{
var mus="no";

Gracias
}
__________________
Chanante!
  #4 (permalink)  
Antiguo 12/02/2008, 09:53
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
Re: If, en qué fallo?

Es mas sencillo, en PHP ya que es una URL en GET puedes hacer algo así:
Código PHP:
if( isset( $_GET['task'] ) && ( $_GET['task'] == 'view'] ) ) {
     
$mus "si";
} else {
     
$mus "no";

Saludos.
  #5 (permalink)  
Antiguo 12/02/2008, 10:04
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 7 meses
Puntos: 12
Re: If, en qué fallo?

Pues muchas gracias por todo, la verdad es que me empezaba a sangrar la nariz buscando el fallo y por supuesto gracias por la solución al indexOf.

Un saludo
__________________
Chanante!
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 20:09.