Visualizza la versione completa : Codice ASP
ciao a tutti,
vorrei un parere sul motivo per cui non mi funziona un semplice script in asp.
Lo script raccoglie (dovrebbe sic!) il percorso, l'indirizzo e la lingua della macchina che si collega al mio sito e poi scrive
queste informazioni in un file di testo.
In locale con il mio IIs funziona, quando metto lo script sul mio sito va in errore. Cosa potrebbe essere???
allego lo script:
dim lapagina, ilcliente, lalingua
dim filepath, logfile
'raccolta info
lapagina = Request.ServerVariables("PATH_INFO")
ilcliente = Request.ServerVariables("REMOTE_ADDR")
lalingua = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
'creazione FileSystem oggeto
Set fs = CreateObject("Scripting.FileSystemObject")
'trova il path del file
filepath = Server.MapPath ("ospite.txt")
'costruzione stringa da scrivere
StrOspite = lapagina & chr(44) &ilcliente & chr(44) & lalingua & chr(44) & Now() & Vbcrlf
'apertura scrittura e chiusura
Set logfile = fs.OpenTextFile (filepath, 8)
logfile.write StrOspite
logfile.close
Messaggio originale di nino:
<STRONG>ciao a tutti,
vorrei un parere sul motivo per cui non mi funziona un semplice script in asp.
Lo script raccoglie (dovrebbe sic!) il percorso, l'indirizzo e la lingua della macchina che si collega al mio sito e poi scrive
queste informazioni in un file di testo.
In locale con il mio IIs funziona, quando metto lo script sul mio sito va in errore. Cosa potrebbe essere???
allego lo script:
dim lapagina, ilcliente, lalingua
dim filepath, logfile
'raccolta info
lapagina = Request.ServerVariables("PATH_INFO")
ilcliente = Request.ServerVariables("REMOTE_ADDR")
lalingua = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
'creazione FileSystem oggeto
Set fs = CreateObject("Scripting.FileSystemObject")
'trova il path del file
filepath = Server.MapPath ("ospite.txt")
'costruzione stringa da scrivere
StrOspite = lapagina & chr(44) &ilcliente & chr(44) & lalingua & chr(44) & Now() & Vbcrlf
'apertura scrittura e chiusura
Set logfile = fs.OpenTextFile (filepath, 8)
logfile.write StrOspite
logfile.close</STRONG>
Il codice Asp non funziona sui PC, prova a metterlo on-line su un servizio che ospita ASP (prova 7host (http://www.7host.com)è gratuito; pubblicalo e vedrai il tuo bel (mi sembra abbastanza buono) script...
[ 11-01-2002: Messaggio Modificato da: No Spamming ]
Ciao,
Puoi dirmi esattamente che genere di errore ti da il codice ? Thanx :D
Ciao Ciao by Dhavide - eternamente diviene
mauro742
11-01-2002, 18:43
Messaggio originale di Spierpa:
<STRONG>Il codice Asp non funziona sui PC, prova a metterlo on-line su un servizio che ospita ASP (prova [URL=http://www.7host.com]7host /URL]è gratuito; pubblicalo e vedrai il tuo bel (mi sembra abbastanza buono) script...</STRONG>
Spierpa guarda che il codice asp può essere eseguito anche sul computer, basta aver installato il Personal Web Server! Io ad esempio l'asp lo provo tutto in locale!!
Mauro
Hai perfettamente ragione scusami una mia sbadatagine...
Ciao,
l'errore che il server mi da è
http 500 errore interno al server.
Il server è websamba.com, decisamente più prestante di 7host(abbastanza scadente).
Sto' benedetto script ( a cui ho solo aggiunto in coda -come ultima istruzione- la redirezione alla pagina html)l'ho frapposto fra l'"enter" nel sito e la pagina principale a cui si accede quando clicchi su enter...Tutto qui.
Ciao ancora
Ciao,
Allora, l' errore 500 è un errore di sicurezza; questo significa che il tuo script viola una qualche restrizione di accesso. Di conseguenza, siccome il tuo script lavora con i file, questo significa che vi sono delle restrizioni sulla cartella in cui deve essere creato il file. Per ovviare a questo inconveniente dovresti abilitare i privilegi di scrittura, per l' utente web, in quella cartella. Se sei in contatto con l' amministratore del sistema che gestisce lo spazio web dove il tuo sito è pubblicato, puoi contattarlo e chiedergli di operare tale modifica, oppure, se il server dove è pubblicato il tuo sito è Linux o simili, allora con un accesso ftp o telnet o ssh puoi operare tu stesso questa modifica.
Ciao Ciao by Dhavide - eternamente diviene
thank you so much, dhavide
...sull'errore ormai è tutto chiaro: l'utente normale non ha (menomale) i permessi per scrivere (cosa che lo script prevedeva); Grazie ancora Dhavide.
Ho risolto quindi non facendo generare un file txt ma scrivendo queste info in una tabella del mio DB.
Sempre in riferimento a questo scipt: se aggiungo l'istruzione:
Browswer = Request.ServerVariables("HTTP_USE_AGENT") che dovrebbe servire a sapere che tipo di browser ha richiesto una certa pagina, va in errore (il solito 500).
Perché??
Inoltre qual'è il metodo per sapere il tipo di s.o. (alla stregua di "REMOTE_ADDR" per l'indirizzo IP)????
grazie e ciao
Ciao,
Innanzitutto ti dico che negli strumenti standard dell' ASP l' unico modo per conoscere il browser e il sistema operativo dell' utente è proprio quello che hai usato tu (attenzione, non so se hai sbagliato a digitare, ma il comando esatto è):
browser = Request.ServerVariables("HTTP_USER_AGENT")
In teoria questo comando non dovrebbe darti alcun errore di sicurezza; se dunque ti genera un errore 500, sono desolato ma non ne conosco il motivo.
Tornando al discorso del riconoscimento del s.o., ti posso dire che, fortuitamente, vi è una particolare variabile che riassume in sé stessa tutte le variabili più importanti tra cui anche la suddetta HTTP_USER_AGENT. Puoi provare a vederla, il comando è:
all_http = Request.ServerVariables ("ALL_HTTP")
Un altro strumento carino per conoscere il tipo e le caratteristiche del browser dell' utente è utilizzare l' oggetto MSWC.BrowserType (per ulteriori informazioni, vai all' url http://www.learnasp.com/iishelp/iis/misc/default.asp, e vai su Active server Pages Guide -> Installable Components for ASP -> Browser Capabilities Component).
Se nonostante tutto questo ancora non hai trovato una soluzione, forse posso consigliarti un piccolo trucco: la variabile che tu vai a leggere con Request.ServerVariables ("HTTP_USER_AGENT") è una informazione che il browser client manda al server, e come tu la leggi in ASP, allo stesso modo può essere letta in ogni linguaggio server-side, ma anche da quelli client-side, in particolare da javascript, con la stringa
browser = navigator.userAgent;
Come far interagire il javascript con l' ASP, poi, è tutta una questione di redirect da una pagina all' altra.
Ciao Ciao by Dhavide - eternamente diviene
ciao,
grazie mille dhavide! Mi sei stato di enorme aiuto. L'errore era di banale sintassi:
USE invece che USER :-(
Ora funziona!!
vBulletin® v3.7.3, Copyright ©: 2000-2012, Jelsoft Enterprises Ltd.
Traduzione italiana Team: vBulletin-italia.it |