Foros del Web » Programando para Internet » PHP »

Campo de menú por variable de sesion??

Estas en el tema de Campo de menú por variable de sesion?? en el foro de PHP en Foros del Web. Hola: Mi pregunta es sencilla pero me trae de cabeza. El caso es que tengo en el menu de mi web un campo que solo ...
  #1 (permalink)  
Antiguo 24/09/2009, 10:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 18
Antigüedad: 14 años, 7 meses
Puntos: 0
Campo de menú por variable de sesion??

Hola:
Mi pregunta es sencilla pero me trae de cabeza. El caso es que tengo en el menu de mi web un campo que solo quiero que aparezca en caso de que el usuario haya hecho login.
El campo sería el siguiente:

Código:
<td width="155" height="40"><a href="forum/index.php" title="Home" target="_self" class="Estilo14">Forum</a></td></tr>

He probado a poner esto:

Código:
<?php
if ((!isset($_SESSION['validUser'])) || ($_SESSION['validUser'] == true)){
      echo '<td width="155" height="40"><a href="forum/index.php" title="Home" target="_self" class="Estilo14">Forum</a></td>';
   }
   else echo '';

?>

Cuando establezco esto:

Código:
($_SESSION['validUser'] == true))
El campo aparece tanto si estoy loged como si no. Y cuando pongo esto:

Código:
($_SESSION['validUser'] != true))
El campo aparece cuando esto desconectado y desaparece cuando me conecto (al revés de lo que pretendo).
Sabeis solucionarlo?

GRACIAS.
  #2 (permalink)  
Antiguo 24/09/2009, 10:18
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Campo de menú por variable de sesion??

Creo que tu problema esta en la otra condicion.

Tu quieres que ese campo aparezca solo si es usuario.

Entonces lo que estas haciendo:
Código PHP:
if ((!isset($_SESSION['validUser'])) || ($_SESSION['validUser'] == true)){ 
Esta diciendo que:
Si NO esta definida la variable validUser de $_SESSION o si validUser es verdadero
Hacer lo que esta dentro del if.

En cambio lo que necesitas es:
Código PHP:
if ( isset($_SESSION['validUser']) && ($_SESSION['validUser'] == true)){ 
Si esta seteada la variable validUser y ademas validUser es verdadero
Hacer lo que esta dentro del if

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 24/09/2009, 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: Campo de menú por variable de sesion??

La comparación debería de ser:
Código PHP:
Ver original
  1. if (isset($_SESSION['validUser']) && ($_SESSION['validUser'] == true)) {

Ya que solo debe aparecer cuando exista la variable y esta sea true.

  #4 (permalink)  
Antiguo 24/09/2009, 10:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 18
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Campo de menú por variable de sesion??

Muchisimas gracias, es exáctamente lo que dice.
Un saludo!
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:25.