Pagina 2 di 7 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 65

Discussione: Subscript out of range

  1. #11
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    nel cod che hai postato non c'e' traccia di come viene riempito l'application("user") ma solo di come viene recuperato... quindi devi agire da un altra parte, ad esempio un cod del genere :
    codice:
    application("user")= application("user") & "|" & variabileDaImput

  2. #12
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da gold
    nel cod che hai postato non c'e' traccia di come viene riempito l'application("user") ma solo di come viene recuperato... quindi devi agire da un altra parte, ad esempio un cod del genere :
    codice:
    application("user")= application("user") & "|" & variabileDaImput
    Infatti quanto dici sta nel global.asa:
    codice:
    Sub Application_OnStart
    tagDelimiter = "#^#"  
    strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("/database.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("/database.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 
    
    If session("login") then
      application.lock
    
    if Application("Utente") = "" then 
    		Application("Utente") = Session("nome") & tagDelimiter & Session("id") 	
    	else
    		Application("Utente")= Application("Utente") & "|" & Session("nome") & tagDelimiter & Session("id") 
    	end if 
    	application.unlock
    end if
    
    	application.lock 
    	if Application("Utente") = Session("nome") & tagDelimiter & Session("id") then
    	   Application("Utente") = "" 
    	else
    		Application("Utente")= Replace(Application("Utente"),"|" & Session("nome") & tagDelimiter & Session("id"),"")
    	application.unlock   
    
    application.lock
    application("users")=cint(application("users"))-1 
    Application.UnLock
    
    end if
    End Sub

  3. #13
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    1)application("users") e un valore numerico e quindi non passa caratteri ma il numero di utenti connessi, ma non ho ben chiara la logica dell'applicazione... perchè all'uscita riempi e poi svuoti l'application?

  4. #14
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da gold
    1)application("users") e un valore numerico e quindi non passa caratteri ma il numero di utenti connessi, ma non ho ben chiara la logica dell'applicazione... perchè all'uscita riempi e poi svuoti l'application?
    Scusa se ti confondo le idee... la application in questione e dà problemi è quella evidenziata in carattere rossa... la application("users") è per gli utenti contemporaneamente connessi alla pagina...
    codice:
     If session("login") then
      application.lock
    
    if Application("Utente") = "" then 
    		Application("Utente") = Session("nome") & tagDelimiter & Session("id") 	
    	else
    		Application("Utente")= Application("Utente") & "|" & Session("nome") & tagDelimiter & Session("id") 
    	end if 
    	application.unlock
    end if
    
    	application.lock 
    	if Application("Utente") = Session("nome") & tagDelimiter & Session("id") then
    	   Application("Utente") = "" 
    	else
    		Application("Utente")= Replace(Application("Utente"),"|" & Session("nome") & tagDelimiter & Session("id"),"")
    	application.unlock   

  5. #15
    1. perche' esegui l'aggiornamento dentro Session_OnEnd?
    2. cosa vale la variabile tagDelimiter? "#^#"? ","? niente?

  6. #16
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da optime
    1. perche' esegui l'aggiornamento dentro Session_OnEnd?
    perchè altrimenti mi rimagono gli utenti 'appesi'
    2. cosa vale la variabile tagDelimiter? "#^#"? ","? niente?
    codice:
    tagDelimiter = "#^#"

  7. #17
    Originariamente inviato da orcim
    codice:
    tagDelimiter = "#^#"
    e perche' allora poi tenti di splittarlo con la virgola? guarda il tuo secondo post, quello con il codice...

  8. #18
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da optime
    e perche' allora poi tenti di splittarlo con la virgola? guarda il tuo secondo post, quello con il codice...
    Grzie, dici questo:
    codice:
    metatag = "," 
    
    arrUser = Split(Application("User"),"|") 
    
    for i = 0 to UBound(arrUser)-1 
    
    arrUser_ID = Split(arrUser(i),metatag)
    
    User = arrUser_ID(0) 
    ID = arrUser_ID(1)
    l'ho già modificato quando mi sono accorto dell'errore:
    codice:
    tagDelimiter = "#^#" 
    
    arrUtenti = Split(Application("Utente"),"|") 
    Response.Write Application("Utente")
    for i = 0 to UBound(arrUtenti)-1 
    
    arrUser_ID = Split(arrUtenti(i),tagDelimiter)
    
    if UBound(arrUtenti) > 2 then
    
    user = arrUser_ID(0) 
    id = arrUser_ID(1) 
    end if
    
    if i <> UBound(arrUtenti)-1 then 
          response.write ("""<font color=red size=1 font face=verdana>"& user &"</font>, ") 
    else 
    	response.write ("""<font color=red size=1 font face=verdana> "& user &"</font>") 
    end if 
    arrUser_ID = null 
    Next

  9. #19
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    ok ora ci sono...
    una piccola curiosita... ma vuoi scrivere tutti i nomi contenuti nell'application("utente") o solo quello dell'utente che chiede la pagina ?
    nell'application("utente") sono contenuti tutti i nomi utente ed id di tutti gli utenti, quindi con un primo split ottieni un elemento che a sua volta dovra essere sottoposto a split a sua volta per ottenere id e user. quindi ricapitolando:

    con variabile=split(application("utente"),"|") ottieni un array contenente id e user insieme (stringa unica) di tutti gli utenti e con utente = split(variabile(N°Elemento),"#^#") invece ottieni un array a due elementi che corrispondono a utente e id che puoi recuperare con utente(0) e utente(1)

  10. #20
    >>optime
    >>1. perche' esegui l'aggiornamento dentro Session_OnEnd?
    >>orcim
    >>perchè altrimenti mi rimagono gli utenti 'appesi'

    ma cosa vuol dire? li aggiungi quando escono? dai....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.