Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    global.asa: in ocale va, tramite dominio no

    salve a tutti,

    ho questo problema:

    ho creato tramite global.asa un contatore di accessi che, in locale va, sul dominio che ho creato tramite aruba.it, no...

    loro mi dicono che i permessi sulla cartella del db (mdb-database) sono apposto... ma io non ci credo neanke 1 pò, anke x' il sito che ho in locale è preciso identico a quello sul server....

    e così mi affido a voi, guru della programmazione....

    io ho un database contennte la tabella Accessi che contiene il campo accesso...

    il mio global.asa legge tale record, gli aggiunge 1, lo mette in una session("Accessi"), modifica il campo appena letto e chiude la connessione.....

    il problema è che mi dice che il database è in sola lettura...

    ora vi posto il codice:
    codice:
    Sub session_onstart()
    	dim fso, strfile, openfile, writefile, accessi, conn, strconn, strsql, rs, sess
    '	session.timeout=20
    	on error resume next
    	strconn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("mdb-database/Sito Claudio.mdb")
    	Set conn = Server.CreateObject("ADODB.connection")
    	response.write err.description
    	Conn.Open strconn
    	response.expires=0
    	strsql = "Select * "
    	strsql = strsql & "From Accessi"
    	Set RS = CreateObject("ADODB.Recordset")
    	RS.Open strSQL, Conn, 3, 3
    	accessi = rs("Accesso")+1
    	session("Accessi") = accessi
    	rs("Accesso") = accessi
    	rs.update
    	if rs.state=1 then rs.close
    	set rs=nothing
    	Conn.close
    	set Conn = Nothing
    	session("UserName") = ""
    	session("Password") = ""
    	session("Login") = ""
    End Sub
    come vedete il codice è molto semplice... potete aiutarmi????
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Sarà semplice, ma è abbastanza delirante.

  3. #3

    in che senso???

    in che senso delirante???
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Nel senso che queste istruzioni sono inutili:

    codice:
    session("UserName") = ""
    session("Password") = ""
    session("Login") = ""
    Per la connessione è meglio usare oledb.

    Il test if rs.state=1 then non serve. Se fosse chiuso il recordset , avresti un errore molto prima (e comunque lo hai appena aperto)

    Utilizzare un database (access in particolare) per un counter di accessi nell'evento session_onstart è un po' delirante perchè apri e chiudi una connessione e apri e chiudi un recordset. Sicuramente il sito risulterà poco scalabile. Io userei un file (xml o un testo normale per velocizzare l'operazione) .

    Arrivando al tuo problema: molto banalmente, la cartella è impostata in scrittura?

  5. #5
    1°: ho provato a usare un file, ma mi da l'errore di scrittura:

    Permission denied.

    eppure il codice che aggiorna il file, va in locale....

    codice:
    	set fso=server.createobject("Scripting.FileSystemObject")
    	strfile = server.mappath("/public/accessi.txt")
    	if fso.fileexists(strfile)=true then
    		set openfile=fso.opentextfile(strfile, 1, true)
    		accessi=openfile.readall+1
    		session("accessi")=accessi
    		openfile.close
    		set openfile=nothing
    		fso.deletefile strfile
    		set writefile=fso.createtextfile(strfile, 2, true)
    		writefile.writeline(accessi)
    		writefile.close
    		set writefile=nothing
    	end if
    2°: io uso altre sessioni quali login, ecc che non c'entrano nulla con il contatore ..

    3°: ho voluto fare una prova... questo codice comunque in locale va, sul dominio no...

    4°: loro dicono che I permessi sulla cartella;

    5°: ho voluto provare a usare questo metodo di connessione( senza risultato ) x' il test che loro utilizzano x vedere se ci sono tali permessi utilizza questo metodo di connessione...

    a me il test va(il loro db viene aggiornato), ma quando aggiorno il mio db non va 'na benedetta mazza
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    1. Metti lo stesso script in una pagina asp normale e dimmi se scrive il file, se lo fa significa che nell'evento session_on start, l'utenza nt non è ancora stata impostata.

    2. Ho capito ch le variabili di sessione che imposti non c'enstrano con il contatore, ma in ogni caso non serve impostarle empty, è uno spreco di memoria. Il test If session("UserName")<>"" then funzionerà comunque.

  7. #7
    va...

    io non capisco come mai il global.asa non va sul server di aruba ma sul server dove risiedeva il mio sito prima, si...

    grazie
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  8. #8
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Boh. Forse Perchè tu non hai restrizioni d'accesso sul tuo pc.
    Quindi il file da una pagina asp normale viene scritto. Giusto?

  9. #9
    si, funziona tutto perfettamente...

    il codice è questo:

    codice:
    	dim fso, strfile, openfile, writefile, accessi
    	if len(trim(session("accessi"))) =0 then
    		set fso=server.createobject("Scripting.FileSystemObject")
    		strfile = server.mappath("public/accessi.txt")
    		if fso.fileexists(strfile)=true then
    			set openfile=fso.opentextfile(strfile, 1, true)
    			accessi=openfile.readall+1
    			session("accessi")=accessi
    			openfile.close
    			set openfile=nothing
    			fso.deletefile strfile
    			set writefile=fso.createtextfile(strfile, true)
    			writefile.writeline(accessi)
    			writefile.close
    			set writefile=nothing
    		end if
                end if
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

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 © 2025 vBulletin Solutions, Inc. All rights reserved.