Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    Dal form tramite URL fino al DB... ma non funge

    Ciao a ttti.

    Ho un problema, ma non capisco dove sia l'errore.... questo che segue é il form presente in una pagina che invia dati immessi dall'utente ad un'altra, la quale mediante un certo script inserisce i dati in DB
    form:
    codice:
    
    <%%>
    
    <%if(leg == "log"){%><h2>Inserimento nuovi dati </h2>
                         
    <form name="Aggiuntadati" action="data.asp?ndato=document.Aggiuntadati.ndato.value&vdato=document.Aggiuntadati.dato.value " METHOD="GET" > 
                        
                              Nome del nuovo dato <input type="text" name="ndato" size="8" value="">
    		 
    		          Nuovo Dato <input type="text" name="vdato" size="16" value="">
    
    
                        <input type="Submit" name="submit" value="Memorizza" onClick="return Convalida() "> 
                        <input type="Reset" value="Cancella">
    Blocco per la registrazione del dato

    codice:
    
    
    
    if (leg =="log") {  
                         if (ndato !=""){
                                                    var yst;
                                                    var ySQLString;
                                                    yst =Server.CreateObject("ADODB.Recordset");
                                                    ySQLString = "insert into dati([uid],[name],[value]) values ('"+Session("uid")+"','"+ String( Request.Querystring("ndato"))+"','"+String(Request.Querystring("vdato"))+"')"; 
                                                    Response.write(ySQLString); /*CONTROLLO PROVVISORIO in fase di scrittura*/
                                                    yst=con.Execute(ySQLString);/* Aggionge i dati  al database*/
                                                    
                       };
    
    };
    Il fatto é che non riesco a capire dove l'errore sia, infatti mi viene restituito come errore
    codice:
    Errore di run-time di Microsoft JScript error '800a1391'
    
    'ndato' non è definito
    
    /sito/data.asp, line 210
    HELP
    Grazie a tutti .
    Evander

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    ....

    Scusate Ho risolto ...un banale errore copiando il nome di una variabile..

    Grazie comunque..
    Evander

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    funge si... ma ora pecca di eccesso di zelo...

    In pratica il codice sopra postato non funzionava a causa di una variabile scritta scorrettamente, ecco la correzione :
    codice:
    
    
    if (leg =="log") {  if (nnda !=""){             var yst;
                                                    var ySQLString;
                                                    yst =Server.CreateObject("ADODB.Recordset");
                                                    ySQLString = "insert into dati([uid],[name],[value]) values ('"+Session("uid")+"','"+Request.Querystring("ndato")+"','"+Request.Querystring("vdato")+"')"; 
                                                  
                                                    yst=con.Execute(ySQLString);/* Aggionge i dati  al database*/
                                                    
                                       };
    
                                     };
    Il Problema ora sta nel fatto che i dati non vengono aggiunti solo quando richiesto , ma anche quando NON lo sono : il codice infatti ad ogni apertutra della pagina, indipendentemente dal fatto che l'accesso derivi dal forum , Aggiunge un nuovo record che se non specificato é vuoto , quindi aggiunto inutilmente oltre che senza alcuna richiesta ; secondo voi dove puo essere l'errore ?


    Grazie A tutti
    Evander

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    Precisazione

    log é una variabile che se contiene il valore "log" indica che l'utente é registrato
    nnda contiene una stringa cosi creata

    <% var nnda = Request.Querystring("ndato");%>

    contenente uno dei valori passati dal Form mediante GET , se vuota non dovrebbe permettere la creazione del nuovo record
    Evander

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250
    Evander

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.