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

2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Estas en el tema de 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente? en el foro de ASP Clásico en Foros del Web. Amigos, Tengo un par de preguntas a ver si me tiran un cable... (que haría yo sin FDW?? ...si me jefe lo descubre me despide... ...
  #1 (permalink)  
Antiguo 11/01/2008, 10:45
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Amigos,

Tengo un par de preguntas a ver si me tiran un cable...

(que haría yo sin FDW??...si me jefe lo descubre me despide...)

Tengo que hacer que algunas de mis páginas expire el cache, para evitar que el usuario regrese y llene de nuevo el formulario, pues se están generando entradas incesarias a la B/D .

Para evitar que la página sea guardada en el cache uso esto:

<%
response.buffer = true
response.expires = 0
response.expiresabsolute = Now() - 1
response.addHeader "pragma", "no-cache"
response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"
%>

Sin embargo, al darle "Regresar" continúa viendo la página y puede realizar otra actualización...en conclusión, las instrucciones no están funcionando.

La otra pregunta es (una vez resuelta la número 1)

¿Existe alguna forma de mostrar un mensaje decente cuando el cache ha expirado en vez del horroroso: "La pagina ha expirado". ?

Saludos y de antemano gracias por su ayuda.
Luis Vásquez
  #2 (permalink)  
Antiguo 11/01/2008, 11:49
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

ideas locas se generan automaticamente.... mmmm....

ok, una variable de session
la llamas entrando al formulario, con valor X, jajaja el tipico 1, antes de leer el formulario, el famoso IF

if session=1 then
ok
else
response.write "el formulario a caducado"
'response.redirect url <---- en dado caso, opcional
end if

asi, cuando el usuario manda el submit, incrementas esta variable session a 2, y si se da el boton BACK, como la variable session se incremento, no podra mirarse
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 11/01/2008, 13:29
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
De acuerdo Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Cita:
Iniciado por Shiryu_Libra Ver Mensaje
ideas locas se generan automaticamente.... mmmm....

ok, una variable de session
la llamas entrando al formulario, con valor X, jajaja el tipico 1, antes de leer el formulario, el famoso IF

if session=1 then
ok
else
response.write "el formulario a caducado"
'response.redirect url <---- en dado caso, opcional
end if

asi, cuando el usuario manda el submit, incrementas esta variable session a 2, y si se da el boton BACK, como la variable session se incremento, no podra mirarse


Woow...eso suena bien....

Pregunto...¿usando ese esquema me evitaría todo el rollo del cache?..es decir, 2 pajaros de 1 tiro...el cache y el mensaje "decente" de una vez...

¿estoy en lo cierto?

Gracias...
  #4 (permalink)  
Antiguo 11/01/2008, 13:43
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

efectivamente, ademas, ya tienes que el cache se borre automaticamente, no necesitas mas movimientos, solo recuerda que una ves que se complete bien el formulario, necesitas eliminar valor alguno en la variable session, en dado caso que el mismo usuario deba volver a utilizar tu formulario

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 11/01/2008, 14:04
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Gracias Shiryu_Libra, (vaya...este nick hay que copiarlo y pegarlo...no ha de otra)

Creo que no va a funcionar el esquema...mis formularios tienen el siguiente formato, donde la actualización se realiza en la misma ASP y luego redirecciona a la otra:

<% if request.form = "" then ' Primera vez que entra %>

Muestro el formulario

<form action="" method="post">
<input name="Submit" type="submit" class="boton" value="Preguntar">
</form>


<% Else ' Hizo el submit %>

insert en la base de datos...

response.redirect("sus_datos_actualizados.asp")

<% End if %>


¿donde pondrías los valores 1 y 2 de la variable?

Si coloco el 2 en sus_datos_actualizados.asp podrá regresar sin problemas... ...Quiero decir, sin problemas para el usuario, pero si para mi...

Saludos, Luis

Última edición por luisvasquez; 11/01/2008 a las 14:12 Razón: completar
  #6 (permalink)  
Antiguo 11/01/2008, 14:16
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?



Código PHP:
<%
if 
request.form "" then ' Primera vez que entra 
    if isempty(session("allow")) then session("allow")=1 end if
    if session("allow")=1 then
        response.Write "entro"%>

Muestro el formulario

<form action="" method="post">
<input name="Submit" type="submit" class="boton" value="Preguntar">
</form>


<% 
    else
        response.Write "Esto no sirve, no se mira la pagina"
    end if
Else ' 
Hizo el submit 
    
if session("allow")=1 then
        session
("allow")=2
%>

insert en la base de datos...

response.redirect("sus_datos_actualizados.asp")

<%
    
end if
End if %> 

tu dices de esta forma....
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 11/01/2008, 15:05
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Extraordinariamente sencillo y funcional....!

1000 gracias!
  #8 (permalink)  
Antiguo 11/01/2008, 15:16
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

perfecto,
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #9 (permalink)  
Antiguo 11/01/2008, 15:27
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Ooops...al intentar ingresar de nuevo a la forma (sin back) no me lo permite..

¿Cuando se pone en blanco la variable?
  #10 (permalink)  
Antiguo 11/01/2008, 15:34
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

eso era a lo que me referia hace 3 post, , lo que pasa es que cuando ya termino todo el procedimiento perfectamente bien, anexale un

session("allow")=empty

y tara...

recuerda que las variables session, no se borran a menos claro este, que el usuario haya terminado su session, valgame la rebuznancia

p.d. en esta parte es en donde me refiero
Código PHP:
Else ' Hizo el submit 
    if session("allow")=1 then
        session("allow")=2
%>

insert en la base de datos...
session("allow")=empty '
<--- en esta parte
response
.redirect("sus_datos_actualizados.asp")

<%
    
end if
End if %> 
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 11/01/2008 a las 15:45
  #11 (permalink)  
Antiguo 12/01/2008, 19:26
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Umm...se está enredando un poco el asunto amigo Shiryu_Libra y te cuento la razón:

1.- P1 tiene un vinculo hacía P2
2.- P2 es el formulario que se llama a si mismo para realizar la actualización.
3.- P2 hace un response redirect a P1 cuando actualiza la B/D. (con el mensaje de "Actualizado")
4.- Estando de nuevo en P1, hago click en "Regresar" y me lo permite porque borré la variable antes de redireccionar desde P2 a P1.

Tengo aproximadamente 25 casos similares en toda la Web y no quiero cambiar mucho código en tantas páginas...

Pregunto ahora ...¿No existe una simple forma de detectar que el usuario le dió "Regresar" al navegador??


Saludos y gracias,
Luis
  #12 (permalink)  
Antiguo 12/01/2008, 20:24
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

coincido contigo, efectivamente esa seria la solucion mas factible dado que fueran 2 paginas
y como es el sentido de solucion rapida para que no lo despidan , practica y al problema, pero si es necesario hagamos una tratando de buscar cuando el (IE, FF o cualquier otro), navegador nos permite saber cuando se presiona el boton regresar..... ya que no la he encontrado

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #13 (permalink)  
Antiguo 12/01/2008, 20:36
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Yo tampoco encuentro la forma de detectar el botón "atras"...

aca mismo en el foro hay varios posts que dicen al final que no se puede...en varios de ellos interviene "Cluster", por lo que se asumen fidedignos...

Teóricamente esto se solventaría (al menos evitar que puedan actualizar varias veces) si las instrucciones para evitar el cache funcionasen, pero no es así:

response.Buffer = True
response.expires = -1000
response.expiresabsolute = Now() - 1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"

saludos, Luis
  #14 (permalink)  
Antiguo 12/01/2008, 21:02
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Acabo de probar algo, pero no está funcionando...pero tal vez con un empujoncito funcione:

Recapitulemos:

1.- P1 tiene un vinculo hacía P2
2.- P2 es el formulario que se llama a si mismo para realizar la actualización.
3.- P2 hace un response redirect a P1 cuando actualiza la B/D. (con el mensaje de "Actualizado")
4.- Estando de nuevo en P1, hago click en "Regresar" y me lo permite.

Ahora, a partir del código original (sin variables de session y todo lo que intentamos), incluyo en el paso 3 un cambio:

3.- P2 hace un response redirect a P3 cuando actualiza la B/D e inmediatamente, P3 hace un redirect a P1. (con el mensaje de "Actualizado").

TEÓRICAMENTE, al estar en P1 y darle "atrás", debería ir a P3 quien a su vez lo manda de nuevo a P1 ...así nunca llegaría a P2 para actualizar de nuevo, que es lo que deseo evitar.

Digo TEÓRICAMENTE y en mayúsculas, porque no funciona...Estando en P1 le doy "atrás" y llega a P2...¿que sucede con P3? ¿no lo toma en cuenta porque es un simple redirect?

Saludos,
Luis

Última edición por luisvasquez; 12/01/2008 a las 21:03 Razón: Error ortográfico
  #15 (permalink)  
Antiguo 12/01/2008, 21:37
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Listo...!

El código de P3 es :

<BODY onload="redir()">
<SCRIPT LANGUAGE="JavaScript">
function redir() {
location.href='<%=request.QueryString("url")%>';
}
</SCRIPT>
</BODY>

Gracias por la paciencia...

Saludos, Luis
  #16 (permalink)  
Antiguo 13/01/2008, 04:57
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

que bueno que lo solucionaste luis, perdon por la falta en los ultimos apuntes

pero las heladas estaban como nunca, y como nunca estan heladas, pues habia que aprovecharlas....

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #17 (permalink)  
Antiguo 13/01/2008, 07:34
Avatar de luisvasquez  
Fecha de Ingreso: diciembre-2003
Ubicación: Venezuela
Mensajes: 879
Antigüedad: 20 años, 6 meses
Puntos: 6
Re: 2 en 1 - Sigue el Cache en ASP y ¿Como muestro un mensaje decente?

Je Je Je...

Salud!
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 23:32.