Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    ASP: problema irrisolto inserimento dati record

    Salve, purtroppo non ho ancora risolto un problema e devo assolutamente riuscirci.
    Uso un db MySQL, nel quale ho una cartella in cui devo memorizzare gli accessi al sito mantenendo quindi memoria di due dati, data e ora, in due campi di nome rispettivamente data e ora.
    In sostanza dovrei fare una pagina default.asp che, alla connessione al sito, salvi i dati e poi ridirezioni alla homepage.
    Qualcuno sa darmi una mano? Ho provato in alcuni modi e ci sono riuscito, ma funziona solo in locale.
    Vorrei qualche suggerimento per tentare nuovamente in altro modo.
    Attendo qualche idea.
    Grazie

  2. #2
    Crei un modulo (chiamato per esempio statistiche.vbs) nel quale metti la funzione che andrà a scrivere nel database, che sarà fatto all'incirca così:
    codice:
    <%
    Sub AddStat()
       'qui metti il codice per aggiungere il record alla tabella degli accessi
       ....
    End Sub
    %>
    In ogni pagina del sito da monitorare metti un include del file e chiami la funzione:
    codice:
    <%
    Call AddStat()
    %>
    Chi non cerca trova.

  3. #3
    Aggiungo quanto ho realizzato che, ripeto, va solo in locale

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <!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>Documento senza titolo</title>
    <style type="text/css">
    <!--
    #Layer1 {
    	position:absolute;
    	left:7px;
    	top:5px;
    	width:493px;
    	height:136px;
    	z-index:1;
    }
    -->
    </style>
    </head>
    <%
    	ip=Request.ServerVariables("REMOTE_ADDR")
    	provenienza="vuoto"
    	data=FormatDateTime(Now(),2)
    	separaora=split(time(),".")
    	if separaora(0)<10 then
    		separaora(0)="0"&separaora(0)
    	else
    	end if
    	ora=separaora(0)&":"&separaora(1)&":"&separaora(1)
    	datiutente="varie"
        sc = connessione
        Set cn = Server.CreateObject("ADODB.Connection")
        cn.Open sc
        Set rs = Server.CreateObject("ADODB.Recordset")
    	rs.Open "visite", cn, 3, 3
    	rs.AddNew
    	rs("ip") = ip
    	rs("provenienza") = provenienza
    	rs("data") = data
    	rs("ora") = ora
    rs("ora") = ora
    rs.Update
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
    response.redirect "Sito/Index.asp"
    %>
    <body>
    </body>
    </html>

  4. #4
    Forse funziona solo in locale perché nel server ci sono diverse impostazioni riguardo al formato data/ora. Di solito, infatti, i server utilizzano le impostazioni americane, hai verificato cosa si usa nel tuo?
    Chi non cerca trova.

  5. #5
    Ciao Tas, grazie per le risposte.
    Tu credi sia quello il problema? Cercherò di controllare.
    Comunque il server lo posso gestire io da remoto... cosa devo controllare?
    Scusami, mi dici di + sull'includere il modulo esterno?
    Hai letto il mio codice?... cosa ci metto nel modulo, può andar bene il codice che ho scritto?
    Dammi qualche chiarimento in + .
    Grazie

  6. #6
    Allora, ho provato con il modulo esterno.... funziona tutto in locale, ma sul server lo stesso errore (500 - Errore interno del server. Si è verificato un problema che non consente di visualizzare la risorsa desiderata.)

    Vedi che io non ho trattato le date come tipo data ma testo... quindi il problema di cui parlavi non ci può essere...

    Però non va

    Che mi dici?

  7. #7
    Fai presto a saperlo. Aggiungi questa riga al tuo codice:
    codice:
    	data=FormatDateTime(Now(),2)
    	Response.Write "<h1>" & data & "</h1>"
    	separaora=split(time(),".")
    ed esegui la pagina sia in locale che sul server, dovresti vedere delle differenze nel formato. Se è quello il problema, la soluzione sta nel cambiare l'algoritmo che estrae la data e l'ora... ma perché le tieni separate in due campi diversi? Non esiste, in mysql, un formato data/ora come in sql server?

    Per quanto riguarda il modulo io metterei quasi tutto il codice dentro la Sub AddStat (o un altro nome che più ti aggrada), ad esclusione ovviamente del response.redirect che proprio non ci deve stare!
    Chi non cerca trova.

  8. #8
    Originariamente inviato da marco.agelao
    Allora, ho provato con il modulo esterno.... funziona tutto in locale, ma sul server lo stesso errore (500 - Errore interno del server. Si è verificato un problema che non consente di visualizzare la risorsa desiderata.)

    Vedi che io non ho trattato le date come tipo data ma testo... quindi il problema di cui parlavi non ci può essere...

    Però non va

    Che mi dici?
    Quell'errore non dice molto... il server è configurato correttamente? E il database?
    Chi non cerca trova.

  9. #9
    Nulla, sempre uguale.... in locale si, sul server no

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Disabilita gli errori HTTP brevi dal menu strumenti, opzioni internet, avanzate di Internet Explorer e guarda qualcosa in più sull'errore che ricevi.

    Roby

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.