Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407

    problema registrazione db

    salve a tutti,

    codice:
    <%
    
    if Request.QueryString("flag")="" then
    %>
    
    <script language="JavaScript">
    
      function Informazioni() {
        var Divisione=navigator.userAgent;
        var Parti=Divisione.substring(Divisione.indexOf('(')+1,Divisione.lastIndexOf(')'));
        var Parti=Parti.split(';');
    
            Larghezza=screen.width;
            Altezza=screen.height; 
            Colori1=screen.colorDepth;
            Colori2=Math.pow(2,Colori1);
            SistemaOperativo=Parti[2];
            
            LinguaOS=navigator.systemLanguage;
            NomeBrowser=navigator.appName;
            VersioneBrowser=Parti[1];
            LinguaBrowser=navigator.userLanguage;
            Proveider=Parti[3];
    		PaginaPrecedente=history.back();
    		Cpu=navigator.cpuClass;
    
            location.href="index2.asp?cpu="+Cpu+"&altezza="+Altezza+"&larghezza="+Larghezza+"&Colori1="+Colori1+"&Colori2="+Colori2+"&so="+SistemaOperativo+"&los="+LinguaOS+"&nb="+NomeBrowser+"&vb="+VersioneBrowser+"&lb="+LinguaBrowser+"&Prov="+Proveider+"&PP="+PaginaPrecedente+"&flag=ok"
    }
    
    document.onload=Informazioni();
    
    </script>
    
    <%
      end if
    
      'Inizializzo le variabili necessarie
      NomeFile=""
      ValoreDB=0
      Contatore=""
      IP=""
      Data=""
      Ora=""
      TipoOS=""
      VideoX=""
      VideoY="" 
      PaginaP="" 
      Browser=""
      VersioneB=""
      LinguaB=""
      LinguaS=""
      ColoreA=""
      ColoreB="" 
      Prov=""
      Processore=""
      
    
      Randomize
      Valore = int((4 * Rnd)+1)
      NomeFile= "Tessuto" & Valore & ".gif"
      
      'Assegno un valore alle variabili!
      IP=Request.ServerVariables("REMOTE_ADDR")
      Data=Date()
      Ora=Time()
      TipoOS=Request.querystring("so")
      VideoX=Request.querystring("Larghezza")
      VideoY=Request.querystring("altezza")
      PaginaP=Request.querystring("PP")   
      Browser=Request.querystring("nb")
      VersioneB=Request.querystring("vb")
      LinguaB=Request.querystring("lb")
      LinguaS=Request.querystring("los")
      ColoreA=Request.querystring("colori1")
      ColoreB=Request.querystring("colori2")
      Prov=Request.querystring("Prov")
      Processore=Request.querystring("cpu")
      
      'Response.write(IP) 
      'Response.write(Data) 
      'Response.write(Ora) 
      'Response.write(TipoOS)  
      'Response.write(VideoX)   
      'Response.write(VideoY) 
      'Response.write(PaginaP) 
      'Response.write(Browser) 
      'Response.write(VersioneB)  
      'Response.write(LinguaB) 
      'Response.write(LinguaS) 
      'Response.write(ColoreA)   
      'Response.write(ColoreB) 
      'Response.write(Prov) 
      'Response.write(Processore)   
      'Response.end()
      
      If Session("Counter")="" then 'devo controllare se nel db persiste il record con ID = 1
        
        'apro la connessione con il db
        set myConn = server.CreateObject("ADODB.Connection")
        dim strConnDb
        strConnDb = ""
        strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = G:/Progetti Lavori/Web Project/Da Fare/Tessuti/tessuti1.mdb"
        'strConnDb = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/tessuti1.mdb")
        myConn.Open(strConnDb)
    
        'Registro le informazioni recuperate dal sistema!
        dim strSqlStatistiche 
        strSqlStatistiche = ""
        strSqlStatistiche = "insert into Statistiche (IndirizzoIP,Data,Ora,Sistema,RisX,RisY,Provenienza,Browser,VersioneB,LBrowser,LinguaOS,Colori1,Colori2,Proveider,Cpu) values (':1:',':2:',':3:',':4:',':5:',':6:',':7:',':8:',':9:',':10:',':11:',':12:',':13:',':14:',':15:')"
        strSqlStatistiche = replace(strSqlStatistiche,":1:",replace(cstr(IP),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":2:",replace(cstr(Data),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":3:",replace(cstr(Ora),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":4:",replace(cstr(TipoOS),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":5:",replace(cstr(VideoX),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":6:",replace(cstr(VideoY),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":7:",replace(cstr(PaginaP),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":8:",replace(cstr(Browser),"'","''",1,-1))    
    	strSqlStatistiche = replace(strSqlStatistiche,":9:",replace(cstr(VersioneB),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":10:",replace(cstr(LinguaB),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":11:",replace(cstr(LinguaS),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":12:",replace(cstr(ColoreA),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":13:",replace(cstr(ColoreB),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":14:",replace(cstr(Prov),"'","''",1,-1))
        strSqlStatistiche = replace(strSqlStatistiche,":15:",replace(cstr(Processore),"'","''",1,-1))
    
        myConn.Execute(strSqlStatistiche)
    il porblema è legato alla registrazione delle variabili, infatti mentre con i response.write tutte le variabili asp assumono un valore appropiato quoando poi passa alla fase di registrazione vengono registrati nel db solo i primi 3 valori ossia Indirizzoip, data e ora, mentre le altre variaili no...
    Nonostante questo la pagina si carica correttamente solo che appunto nel db non vengono memorizzati i valori

    da cosa diepnde?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483
    per me sbagli a concatenare la variabile strSqlStatistiche

  3. #3
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da heroes3
    per me sbagli a concatenare la variabile strSqlStatistiche
    in che senso?

  4. #4
    un caloroso consiglio ....

    i replace degli apici falli solo quando necessario ed in più non in quel modo ... ovvero il tuo codice è pulito e ordinato ma rende la lettura (che considera come una chiave importantissima) difficilissima ... quindi i replace degli apici falli sulle variabili:

    es:
    LinguaB=Request.querystring("lb")
    LinguaB=replace(Request.querystring("lb"),"'","''" )
    ..........
    in modo che la costruzione della insert sia anche più agevole:

    codice:
    strSqlStatistiche = "insert into Statistiche  (IndirizzoIP,Data,Ora,Sistema,RisX,RisY,
     Provenienza,Browser,VersioneB,LBrowser,L
    inguaOS,Colori1,Colori2,Proveider,Cpu) values  ('" & IP & "','" & etc & "','" & etc & "','" & etc & "','" & etc & "','" & etc & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "')"
    spero sia chiaro, scrivi meno codice e in maniera più pulita ...

  5. #5
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da vaargard
    un caloroso consiglio ....

    i replace degli apici falli solo quando necessario ed in più non in quel modo ... ovvero il tuo codice è pulito e ordinato ma rende la lettura (che considera come una chiave importantissima) difficilissima ... quindi i replace degli apici falli sulle variabili:

    es:
    LinguaB=Request.querystring("lb")
    LinguaB=replace(Request.querystring("lb"),"'","''" )
    ..........
    in modo che la costruzione della insert sia anche più agevole:

    codice:
    strSqlStatistiche = "insert into Statistiche  (IndirizzoIP,Data,Ora,Sistema,RisX,RisY,
     Provenienza,Browser,VersioneB,LBrowser,L
    inguaOS,Colori1,Colori2,Proveider,Cpu) values  ('" & IP & "','" & etc & "','" & etc & "','" & etc & "','" & etc & "','" & etc & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "','" &  & "')"
    spero sia chiaro, scrivi meno codice e in maniera più pulita ...
    si ho capito quello0 che vuoi dire anche se è una tecnica che non ho mai adottato prima...

    morale seguendo questo tuo metodo io una volta fatta la fase di insert non devo più fare le 15 righe di replace, ma passare direttamente all'execute?

  6. #6
    esatto altrimenti, per evitare i replace degli apici puoi usare l'oggetto addnew dell'oggetto recordset, guarda qui ... ti facilita la vita in inserimenti massicci come i tuoi:

    http://freeasp.html.it/guide/lezione.asp?id=113

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Inserisci nella query direttamente la variabile sulla quale hai già fatto la replace. Le 15 replace per intenderci le devi fare lo stesso ma la query è più umana!

    Roby

  8. #8
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da vaargard
    esatto altrimenti, per evitare i replace degli apici puoi usare l'oggetto addnew dell'oggetto recordset, guarda qui ... ti facilita la vita in inserimenti massicci come i tuoi:

    http://freeasp.html.it/guide/lezione.asp?id=113

    si ho letto l'articolo ma comunque io non devo aggiornare il db, ma devo inserireun nuovo record ogni volta, oltre a questo se io faccio come mi hai indicato tu e cioè


    LinguaB=replace(Request.querystring("lb"),"'","''" )

    alla fine la riga diventa così?

    strSqlStatistiche = replace(strSqlStatistiche,":10:",1,-1))

    continuo a non trovarmi...

  9. #9
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    più che altro poi mi piacerebbe capire perchè stessa procedura di registrazione che io ho preso, tagliato ed incollato dal codice di un sito perfettamente funzionante non deve funzionare anche su quello che sto sviluppando partendo soprattutto dal fatto che entrambi i siti sono alloggiati nello stesso ISP...

  10. #10
    Utente di HTML.it L'avatar di heroes3
    Registrato dal
    Aug 2001
    Messaggi
    2,483
    alla fine metti della query metti

    response.write strSqlStatistiche
    response.end

    e posta a video ciò che vedi!!!!

    ripeto sbagli a concatenare oltre che incasinarti con tutti i replace dentro la query... secondo me devi sistemarla come dice vaargard e poi capisci dove sta l'errore se non lo capisci prima

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.