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

session

Estas en el tema de session en el foro de ASP Clásico en Foros del Web. Hola, tengo un problema con los nombres de los usuarios registrados en mi pagina web; los usuarios se quedan siempre memorizados, los archivos: global.asa: Código: ...
  #1 (permalink)  
Antiguo 04/08/2004, 11:12
 
Fecha de Ingreso: agosto-2004
Mensajes: 3
Antigüedad: 20 años, 8 meses
Puntos: 0
session

Hola, tengo un problema con los nombres de los usuarios registrados en mi pagina web; los usuarios se quedan siempre memorizados, los archivos:

global.asa:

Código:
<script LANGUAGE="VBScript" RUNAT="Server"> 
Sub Application_OnStart 
strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("/mdb-database/crm.mdb") 
application.lock 
Application("Utente") = "" 
application("users") = 0 
Application("dbconn") = strConn 
application.unlock 
End Sub 

Sub Application_OnEnd 
End Sub 

Sub Session_OnStart 
Session("start") = Now 
session.timeout = 20 

set objconnvisite=Server.createobject("ADODB.Connection") 
Set objrsvisite = Server.CreateObject("ADODB.Recordset") 
objconnvisite.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &Server.mappath("/mdb-database/counterdb.mdb") 
objconnvisite.Open 

oggi=date() 
ipvisit=request.servervariables("remote_addr") 

'SQL quando data=oggi e l'ip è nuovo 
strSQL="SELECT * FROM tbl_sessioni WHERE datepart('d', visitdate)="&datepart("d", oggi)&" AND datepart('m', visitdate)="&datepart("m", oggi)&" AND datepart('yyyy', visitdate)="&datepart("yyyy", oggi)&" AND visitorIP='"&ipvisit&"'" 
objrsvisite.Open strSQL, objconnvisite, 3, 3 
if (objrsvisite.EOF OR objrsvisite.BOF) then 
'prima sessione odierna dell'ip ipvisit 
objrsvisite.addnew 
objrsvisite("visitdate")=oggi 
objrsvisite("visitorip")=ipvisit 
end if 
objrsvisite("visitorcount")=objrsvisite("visitorcount")+1 
objrsvisite.update 
objrsvisite.Close 
Set objrsvisite = Nothing 
objconnvisite.Close 
Set objconnvisite = Nothing 

application.lock 
application("users")=cint(application("users"))+1 
Session("login") = False 
application.unlock 
End Sub 

Sub Session_OnEnd 
application.lock 
Application("Utente") = Replace( Application("Utente") , Session("utente") & "|" , "") 
application("users")=cint(application("users"))-1 
Application.UnLock 
End Sub 
</script>

connected.asp:

Código:
<% 
Dim arrUtenti 
Response.Write "<B> <font color=blue size=1 font face=verdana>Usuarios en Linea:</font> </B>" 
arrUtenti = Split(Application("Utente"), "|") 
dim utenti 
for i = 0 to UBound(arrUtenti)-1 
if i <> UBound(arrUtenti)-1 then 
utenti = utenti & arrUtenti(i) & ", " 
else 
utenti = utenti & arrUtenti(i) 
end if    
Next 
Response.Write "<font color=red size=1 font face=verdana> " & utenti & "</font>" 
%>

login.asp:

Código:
<% 
Option Explicit 
Response.Buffer = True 
Dim objConn, strConn, objRs, strsql 
Dim submitted, login, password 
%> 
<% 

submitted = Request.Querystring("submitted") 

If Submitted then 

    strConn = Application("dbconn") 

    login = Request.Form("login") 
    password = Request.Form("password") 
      
    strsql = "Select id, permesso, login1, password1 FROM tbl_login " 
    strsql = strsql & "WHERE login1 ='" & login & "' AND password1 = '" & password & "'" 
      
      
    Set objConn = Server.CreateObject("ADODB.Connection") 
    objConn.Open strConn 
    set objRs = objConn.Execute(strsql) 
      
    If objRs.EOF then 
        'Non e' valido, mandalo indietro 
        response.redirect "dx_old.asp" 
    Else 
          
        'e' valido, fallo entrare 
          
        session("login") = True 
          
Session("utente") = Request("login") 
if InStr(1, Application("Utente"), Session("utente") & "|" ) = 0 then 
Application.Lock 
Application("Utente") = Application("Utente") & Session("utente") & "|" 
Application.UnLock 
end if          
          
        session("aut")=objrs("permesso") 
        session("userName")=objrs("login1") 
        session("id") = objrs("id") 
     
        objRs.close 
        Set objRs = Nothing 
        response.redirect "ufficio.asp" 
    end if 
else 
%> 
<% 
end if 
Response.end 
Response.Clear 
%>
donde esta el error?
gracias
  #2 (permalink)  
Antiguo 06/08/2004, 13:12
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años, 11 meses
Puntos: 0
Hola, creo que es muy dificil entender a tu codigo por que tu solamente sabes lo que haces, no podrias explicar de una forma detallada que quieres hacer, o por que no intentas utilizar la instruccion session.abandon para forzar la salida de la session.

Saludos.
  #3 (permalink)  
Antiguo 06/08/2004, 13:14
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 22 años, 10 meses
Puntos: 125
y que te dice el error???

Copy - paste..
  #4 (permalink)  
Antiguo 06/08/2004, 13:30
 
Fecha de Ingreso: agosto-2004
Mensajes: 3
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias por sus respuestas; muy amables.
El problema es que no dice nada de error, les hago un ejemplo de lo que sucede:
me autentico yo como numberfree, otro usuario como pepito, otro usuario como luis.

la pagina connected.asp serà:
Usuarios activos: numberfree, pepito, luis

Se cierra la session:
Usuarios activos: ninguno

cuando vuelo a entrar como numberfree, la pagina connected.asp serà:
Usuarios activos: numberfreepepitoluis numberfree

me explico?
la session.abandon en el global.asa y donde?
Gracias. Ciao
  #5 (permalink)  
Antiguo 06/08/2004, 17:34
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años, 11 meses
Puntos: 0
hola una pregunta, no tienes un boton que te permite realizar de "LogOff", si no es asi tendrias que crear un boton y llamar a una asp, en esa asp tienes que escribir

<%
Session.Abandon
%>
  #6 (permalink)  
Antiguo 07/08/2004, 03:31
 
Fecha de Ingreso: agosto-2004
Mensajes: 3
Antigüedad: 20 años, 8 meses
Puntos: 0
Por cierto asi fuciona muy bien, gracias.
El problema es cuando alguien se olvida de clicar sobre el boton de logout se queda su nombre en la lista... es como si la session.timeout del global.asa non funciona...
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 17:26.