Foros del Web » Programando para Internet » ASP Clásico »

variable session en un Include

Estas en el tema de variable session en un Include en el foro de ASP Clásico en Foros del Web. tengo una variable session que incluya una ruta al host. Quisiera hacer referencia a esta variable session desde un Inlcude, pero no hay manera de ...
  #1 (permalink)  
Antiguo 19/12/2006, 06:21
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 1 mes
Puntos: 0
variable session en un Include

tengo una variable session que incluya una ruta al host.
Quisiera hacer referencia a esta variable session desde un Inlcude, pero no hay manera de conseguirlo.

la variable session es:<%=Session("host")%>

el include que funciona correctamente es:
<!-- #INCLUDE file="123.12.12.12/aplicacion/Includes/menu.asp" -->
al hacer uso de la variable session:
<!-- #INCLUDE file=":<%=Session("host")%>/aplicacion/Includes/menu.asp" -->

da este error:
No se encontró el archivo de inclusión "<%=Session(".
y la ruta y todo el correcta, pq hago uso de esta variable session para enlazar con una hoja de estilo y funciona correctamente.
<link rel="stylesheet" href="<%=Session("host")%>/aplicacion/mycss.css" type="text/css">

Gracias de antemano.
__________________
Salut i Força al Canut
  #2 (permalink)  
Antiguo 19/12/2006, 09:25
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: variable session en un Include

Ocurre que en ASP los includes se procesan antes que los scripts.
En consecuencia, tomará literalmente a <%=Session("host")%> como parte del nombre de archivo a incluir.

Que si te funcione para enlazar una hoja de estilos es perfecto porque eso ocurre en el nevegador, y a este le ha llegado el valor de la variable session
__________________
...___...
  #3 (permalink)  
Antiguo 20/12/2006, 02:25
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 1 mes
Puntos: 0
Re: variable session en un Include

Ante todo muchas gracias,
Hay alguna posible solucion alternativa??
de todos modos, seguire intentando resolverlo, aun no se como pero algo intentare....
Gracias de nuevo
__________________
Salut i Força al Canut
  #4 (permalink)  
Antiguo 20/12/2006, 06:04
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: variable session en un Include

si tu variable session no varía demasiado podrías hacer un if, sería algo así
Código:
<% if request.session(host) = "host1" then %>
<!--#include file="host1.asp"-->
<% elseif request.session(host) = "host2" then %>
<!--#include file="host2.asp"-->
<% else %>
<!--#include file="hostpordefecto.asp"-->
<% end if %>
Bueno como te digo si no son muchos los valores que pueda tomar tu variable session("host"), podrías hacer algo así, el tema se complica si son demasiados porque se haría un if astronómico.
No se si sea la mejor solución para eso pero es lo que primero se me ocurre :P
Saludos y espero que te sirva.
__________________
I'm gonna start a revolution from my bed...
  #5 (permalink)  
Antiguo 20/12/2006, 07:49
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 1 mes
Puntos: 0
Re: variable session en un Include

bueno, esto es una de las soluciones que tenia en mente
En principio es sencilla, pero tendria q incluir los if en todas las paginas por que deberia repasarlas todas. pero....si no queda mas remedio

Muchas gracias de nuevo
__________________
Salut i Força al Canut
  #6 (permalink)  
Antiguo 20/12/2006, 08:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: variable session en un Include

Ese bloque de IF lo puedes poner en un include para que un futuro cambio no te haga que tener que volver a modificar todas tus páginas.

Otra alternativa, pero que depende de que es lo que hagan los include, es usar el Server.Execute (Ojo con esto)

Saludos
  #7 (permalink)  
Antiguo 20/12/2006, 17:55
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: variable session en un Include

Se me ocuerre tbn que solo en la página inicial se utilice el if, y luego se guarda el valor que arroja el if en una variable de session o cookie.
Saludos!
__________________
I'm gonna start a revolution from my bed...
  #8 (permalink)  
Antiguo 21/12/2006, 04:21
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 1 mes
Puntos: 0
Re: variable session en un Include

he encontrado una posible solucion,
es bastante sencilla pero me ha surgido otro error.

al hacer:
<% if request.session(host) = "local" then %>
<!--#include file="includes/cabeceras.asp"-->
<% else %>
<!--#include file="http://www.paquito.com/includes/cabeceras.asp"-->
<% end if %>
da un error pq no encuentra el archivo dentro del servirdor de www.paquito.com, es decir la opcion del "else"

hay alguna manera de corregir este problema????
__________________
Salut i Força al Canut
  #9 (permalink)  
Antiguo 21/12/2006, 12:29
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: variable session en un Include

mmm... si esa no es la web en donde está alojado el archivo principal no vas a poder hacer el include, tengo entendido que los includes no se pueden hacer desde hosts externos, tenés dos formas de hacer los includes:
<!--#include file="include.asp"--> Solo podrás acceder a los archivos que se encuentren dentro de la carpeta donde se aloja el archivo donde llamas al include. Un ejemplo sería:
Guardas los includes dentro de una carpeta "includes" y el archivo desde donde lo llamas puede estar o en la carpeta principal (lo llamarás así:<!--#include file="includes/include.asp"-->) o dentro de includes, y lo llamarás como en el primer ejemplo.
El include virtual es por si tienes los includes en una carpeta "includes" y el archivo desde donde lo llamas en otra carpeta dentro de la principal.
Supongamos que tu include está acá:
Carpeta principal/includes/include.asp
y tu archivo en:
Carpeta principal/varios/aplicaciones/index.asp
aquí no podrías usar el primer ejemplo, para eso se utilizaría el metodo include virtual y se hace así:
<!--#include virtual="includes/include.asp"-->
Por defecto empieza por la carpeta principal.
Espero que se entienda y te sirva.
Saludos!
__________________
I'm gonna start a revolution from my bed...
  #10 (permalink)  
Antiguo 22/12/2006, 02:15
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 21 años, 1 mes
Puntos: 0
Re: variable session en un Include

buenas pablinff, yo tb tengo entendido despues de investigar un poco que los includes no se pueden hacer desde hosts externos, asi que por el momento me tendre que conformar con dejarlo tal y como esta y hacer las modificaciones necesarias de las rutas hacia los includes, cuando suba a la web todo lo que ahora tengo en el servidor de pruebas.
De todos modos muchas gracias a todos por las respuesta y el interes y Sobre todo FELIZ NAVIDAD a todos
__________________
Salut i Força al Canut
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 01:21.