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

Variables de Session en IE

Estas en el tema de Variables de Session en IE en el foro de ASP Clásico en Foros del Web. Saludos foros: Mi problema es que al redireccionar o ir a otra pagina tengo que actualizar dicha pagina para que tome el nuevo valor de ...
  #1 (permalink)  
Antiguo 29/12/2006, 20:07
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Variables de Session en IE

Saludos foros:

Mi problema es que al redireccionar o ir a otra pagina tengo que actualizar dicha pagina para que tome el nuevo valor de las variables de session
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #2 (permalink)  
Antiguo 29/12/2006, 21:45
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Variables de Session en IE

Podrías explicarte un poco mejor?
Ese es el problema y cuál debería ser el comportamiento correcto?
Por favor incluye el código funcional para que podamos ayudarte mejor.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 30/12/2006, 13:09
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Re: Variables de Session en IE

Cita:
Mi problema es que al redireccionar o ir a otra pagina tengo que actualizar dicha pagina para que tome el nuevo valor de las variables de session
a ver, a ver, a ver, si ya redireccionas (Response.Redirect) la "nueva página" ya tomará el nuevo valor de la sesión, no hay que actualizar nada, de nada
  #4 (permalink)  
Antiguo 02/01/2007, 09:34
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Re: Variables de Session en IE

Al redireccionar en IE no me toma el nuevo valor de las variables de session es lo que no me explico, a continuacion pongo el codigo.

Código:
<%
If session("autentificado")="SI" then
	response.Redirect("homefotos.asp")
end if

if Request("usuario")<>"" AND Request("contraseña")<>"" then%>
	<!--- #include file="conecta.asp"--->
	<%
	Dim usuario,contrasena, ierror
	ierror = 0
	'Primero nos fijamos si ambos campos fueron completados.
	'Si no se cumple, redireccionamos a pagina1.asp
	If Request("usuario") = "" OR Request("contraseña") = "" then
		Response.Redirect "index.asp"
	Else
		'Guardamos los datos del Form en variables y evitamos la comilla simple
		usuario = Trim(Ucase(Request("usuario")))
		contrasena = Trim(Request("contraseña"))
		usuario = Replace(usuario,"'","''")
		contrasena = Replace(contrasena,"'","''")
	
		set cmd = Server.CreateObject("ADODB.Command")
		cmd.ActiveConnection = Conn
		cmd.CommandText = "SP_VerifUsu "
		cmd.CommandType = 4
		cmd.CommandTimeout = 0
		cmd.Prepared = true
		cmd.Parameters.Append cmd.CreateParameter("@usuario", 200, 1, 10, usuario)
		set rs = cmd.Execute()
		
		'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
		If (rs.EOF = true) then
			ierror = 1 'Ese usuario no existe
		Else
			If rs.Fields("CONTRASEÑA") = contrasena then 
				'Si el campo de la tabla es igual a nuestra variable, estas logueado.
				ierror = 3 'Te logueaste con exito
			Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
				ierror = 2 'Esa contraseña no concuerda con el usuario ingresado
			End If
		End If
	End If
end if

if ierror=3 then
	Session("autentificado")="SI"
	Response.Redirect("homefotos.asp")
end if

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Bienvenido a fotosenergizer.com</title>
</head>
<body>
<form name="login" action="index.asp" method="post">
<table cellspacing="0" cellpadding="0" border="0">
	<tr><td>Usuario</td></tr>
	<tr><td><input type="text" name="usuario" /></td></tr>
	<tr><td>Contraseña</td></tr>
	<tr><td><input type="password" name="contraseña" /></td></tr>
	<tr><td><br /><input type="submit" name="Ingresar" value="Ingresar" /></td></tr>
</table>
<%if ierror=1 then%>
<table>
	<tr><td><font color="#FF0000" size="-1">Usuario no Registrado</font></td></tr>
</table>
<%end if%>
<%if ierror=2 then%>
<table>
	<tr><td><font color="#FF0000" size="-1">Contraseña incorrecta</font></td></tr>
</table>
<%end if%>
</form>
<table cellspacing="0" cellpadding="0" border="0">
	<tr><td><a href="forgot.asp">¿Olvidaste tu contraseña?</a></td></tr>
	<tr><td>&nbsp;</td></tr>
	<tr><td><a href="/Registro.asp">¿A&uacute;n no te registras?<br />REG&Iacute;STRATE AQU&Iacute;</a></td>	</tr>
</table>
</body>
</html>
El asunto es que una ves logueado y si el usuario quiere ir al INDEX lo redireccione a el Home de fotos (homepicture.asp), pero si en la barra de direcciones le pongo http://www.xxxxx.com/index.asp efectivamente me manda a index.asp (cosa que no debería ser) pero ya estando en index le aprieto F5 para actualizar y ahi es cuando me redirecciona al home de fotos.

Gracias de antemano.
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #5 (permalink)  
Antiguo 02/01/2007, 13:00
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Re: Variables de Session en IE

El navegador te mandara a donde le pongas en la barra de direcciones, pero veo que tu problema es que indipendientemente de lo que el usuario teclee tu quieres mandarlo a X sitio.
Para lo cual se me ocurre que al incabezado de cada página de tu sitio coloques un include que haga las redirecciones a los sitios que deban ser.

El código que pones, ¿qué es?, ¿es el index o que papel juega en el sitio?
  #6 (permalink)  
Antiguo 02/01/2007, 18:06
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Re: Variables de Session en IE

Es el index
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #7 (permalink)  
Antiguo 03/01/2007, 08:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Re: Variables de Session en IE

Bueno cuendo redireccionas al usuario a index.asp, aún no has creado la sesión, así que la sesión no existe y por lo tanto no puede contener nada

Suerte
  #8 (permalink)  
Antiguo 03/01/2007, 08:33
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Re: Variables de Session en IE

Como que a ese programa debes de hacerle una "prueba de escritorio" a conciencia. De reojo veo que tienes IF's que jamás se cumplirán y no esta muy clara la secuencia.
  #9 (permalink)  
Antiguo 04/01/2007, 10:52
 
Fecha de Ingreso: septiembre-2004
Ubicación: Santiago de Compostela
Mensajes: 103
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Variables de Session en IE

Dos cosillas rápidas:

1. Yo evitaría usar caracteres especiales en los campos de la base de datos para mayor portabilidad de servidores y sistemas operativos... tienes por ahi rs.Fields("CONTRASEÑA") o Request("contraseña") ... yo sacaría la Ñ antes de que sea demasiado tarde. Si tienes más campos de formulario o bases de datos con ñ, espacios o tildes tambien deberías de eliminarlos.

2. Prueba a iniciar la sesión en el global.asp en el session_onload y a eliminarla al salir. Aún así yo esa sesión la haría boobleana, poniendo los valores true y false en vez de cadenas de texto "SI". Prueba a cargarla en el global.asa (session("autentificado")=false).

Si no funciona prueba si tu servidor soporta las variables de sesión.

Un saludo.
__________________
Fran Castro
Diseño de Paginas Web Descargas Gratis
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 21:02.