Problema campos true/false

He cambiado de pc y me encuentro con que la web que tenía en mi IIS anterior ahora me da problemas. Cuando haces login en la página le paso una serie de variables desde la bd al global. Asa, entre ellas hay un campo true/false. La variable la coge porque si la llamo me la enseña correctamente. El problema viene a la hora de los condicionales.
Yo tenía puesto en una de las páginas en las que los menús cambian dependiendo si eres o no administrador
<% if session("administrador")="true" then%>
Pues resulta que con comillas me lo acepta en el otro pc que tengo en red y en la versión que tengo colgada en un servidor externo, pero en el mío o se lo pongo sin comillas o nada.
Mi procesador es de 64 bits, ¿puede tener algo que ver? Es que en los dos pc's tengo el mismo sistema operativo instalado, windows Xp Pro y aunque en el mío está el office xp y en el otro el 2003 no parece que ése sea el problema.
Lo que sí tienen diferente los windows, y no sé por qué, es que en mi pc veo la instalación de windows en español y en el otro en inglés (y es el mismo cd)
A ver si con esto puedes decirme algo.
Gracias.
Respuesta
1
No tiene mucho sentido el problema. Me explico, si lo estás ejecutando en el mismo servidor pero desde diferentes "clientes" el problema es rarísimo y no lo había oído nunca. Aparte de eso la comprobación te tiene que funcionar igual, lo único que mira a ver si la sesión Administrador la iguala a true o a otro valor, aunque por lo que dices si que lo muestra bien..
Siento ser de tan poca ayuda pero nunca he oído algo tan raro. De todas formas revisa el Explorer, o intenta conectarte con diferentes navegadores por si el problema está ahí.
Luis
Gracias Luis. El problema se ha solucionado quitándole las comillas al true. La verdad es que no tengo ni idea del motivo pero bueno, viéndolo ahora me parece más lógico sin las comillas.
Gracias.

1 respuesta más de otro experto

Respuesta
1
Este problema de las comillas no parece ser solo tuyo. En mi trabajo en ocasiones, trabajando sobre el MISMO servidor, en ocasiones acepta las comillas y en otras no. Por lo general, comprueba que el lugar donde guardes la sesión sea Session("administrador") = "true". Para evitar problemas, suelo utilizar Session("administrador") = "si", y de esa forma me evito complicaciones con el true y el false (que son un poco rollo). También puedes usar if CBool(Session("Administrador")) = CBool(true) pero es más arriesgado pues puedes encontrarte con problemas de conversión inesperados

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas