Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    250

    ProControllo di una PW... problema con il database, ma quale?

    Salve a tutti , sto scrivendo una pagina asp coadiuvato da JavaScript, sono alle prime armi e mi sono imbattuto in un problemino :

    var tSQLString;
    tst =Server.CreateObject("ADODB.Recordset");
    tSQLString ="Select pwd from utenti where user ='"+nime+"'"; /*crea una stringa contenente richiesta SQL */
    tst =con.Execute(tSQLString);
    while (!tst.EOF) {var pdb = tst("pwd")/*Password estratta da DataBase*/
    tst.MoveNext( );

    Il problema é che tale codice al contrario di quanto mi sarei aspettato non mi estrae alcun dato apparentemente, benché un codice analogo usato poco prima su un altro dato dello stesso DB lo faccia, tant' é che riesco a confrontare un id ma non la PW passata tramite GET.

    Nel codice sovrastante notate errori che mi sfuggono ? la "connection" é stata creata all'inizio del documento e pare funzionare.

    Grazie in anticipo .
    Evander

  2. #2
    apparte che in quella stringa sql c'è un " di troppo (in fondo), poi fatti stampare la query e vedi se tira fuori una query corretta
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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

    Ciao , Grazie

    Ciao Grazie ancora,

    Il carattere " non é di troppo , ma correggimi se sbaglio, inquanto include un secondo carattere infatti aggiungendo spazi é " ' " .

    il fatto é il seguente : questo script mi fa una cosa strana che non mi spiego , ho verificato più volte, in preatica lo stesso codice usato per un'altra variabile , l'ID, funge , cioé i cicli IF che usano la variabile id estratta funzionano correttamente ma poi quando vado a stamparla non viene visualizzata , mentre quando impiego il controllo sulla PW non funziona propio , non la confronta ne la stampa , come se non la estraesse ... non capisco , ci sono soluzioni migliori ? se non é un problema posto il codice.

    Grazie ancora
    Evander

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

    hf

    Ho capito quale é il problema... non é colpa dello script sopra postato: inquanto stampando i dati questi appaiono o per lo meno appena dopo l'estrazione , ecco il problema reale :

    le variabili impiegate vengono create all'inizio del documento , poi dopo l'estrazione dei dati da DB , gli vengono assegnati i valori impiegando un ciclo While (le vatiabili sono 3 , ID PW ed un codice aggiuntivo funzionale alla gestione dei dati );

    Dopo l'estrazione i valori vengono confrontati con quelli passati dall'utente mediante Get da un'alta pagina contenuti in altre variabili mediante unu alberello di IF annidati;

    Il problema a dir poco banale, ma che mi sta dando problemi,é che queste variabili mi vengono riconosciute e considerate al di fuori e nel primo IF usato per i controlli, ma in quelli annidati sotto il primo no ... .

    ???
    Evander

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

    ...

    if (clk1 =="off"){ if(ndb == null){ Response.write(" Il nome indicato non corrisponde ad utenti già registrati, controllare la correttezza dei dati inseriti o registrare un nuovo account. ") } else{
    Response.write("Controllo PW
    "); /*fin qui funge*/
    Response.write("nome estratto da DB "+ndb+"
    "); /*da qui in poi no , gli stessi dati però fuori dall' IF vengono stampati, why?*/
    if(pww == pw2){Response.write("Accesso Effettuato")}else{Response.write("Password ERRATA")};/*non funge*/ }


    Evander

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

    perche

    perché non mi fa usare le variabili globali e i relativi valori in IF annidati? é normalee?
    come posso fare ad usarle?
    Evander

  7. #7
    1) usa i tag [ C O D E ] e [ / C O D E ] per postare codice che così non si capisce nulla

    2) indenta il codice

    3) riposta il codice in maniera corretta che vediamo un pò dove sta quest'errore


    ah, in effetti non avevo notato l'apice singolo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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

    ops sorry

    codice:
     
    if (clk1 =="off"){ if(ndb == null){ Response.write(" Il nome indicato non corrisponde a utenti già registrati, controllare la correttezza dei dati inseriti o registrare un nuovo account. ") } else{ 
               Response.write("Controllo PW
    "); /*fin qui funge*/
               Response.write("nome estratto da DB "+ndb+"
    "); /*da qui in poi no , gli stessi dati però fuori dall' IF vengono stampati, why?*/
               if(pww == pw2){Response.write("Accesso Effettuato")}else{Response.write("Password ERRATA")};/*non funge*/ } }
    Evander

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

    Il problema sta diventando serio ed urgente ma non capisco.....

    Riposto l'intero script (ometto le parti futili) sperando che qualche anima pia abbia pazienza nell'aiutarmi ; ricordo che sto impiegando ASP e Javascript


    codice:
    <%Session("ricon") = true ;%>
    <%var nime = Request.Querystring("user")  /*Variabile stringa nome utente richiesta da URL*/%>
    <%var pw2 = Request.Querystring("pass")   /*Variabile password utente richiesta da URL*/%>
    <%var clk1 = Request.Querystring("click") /*VAriabile richiesta o no nuovo account passata da URL*/%>
    <%var leg = Session("loggato") /*Variabile stato loggato ottenuta da session*/%>
    <%var name = Session("nome")/* variabile nome utente richiesta da session*/   %>
    <% var ndb;  %>
    <% var pww;  %>
    <% var serdb;%>
    
    ....
    Creo connection verso database ed estraggo valori ... (funge
    ...
      while (!rst.EOF) { serdb = rst("uid")/*Codice identificativo dati utente estratto da Database*/;
                               ndb = rst("user")/*nome estratto da DataBase*/;                     
                               pww = rst("pwd")/*pw estratto da DataBase*/;
                               rst.MoveNext( ); /*Tale script estrae i dati dal recordset*/
                              }; %>
    
    .....
    Qui i problemi :
    ....
    
    <% if (clk1 =="on"){ if(ndb == null){ leg = "log";/*Se l'utente si dichiara nuovo ed il nome scelto é diverso da quelli già registrati vengono settate le variabili di session e il suo stato passa a loggato */
                                         Session("loggato")="log"; 
                                         Session("nome")= nime ; /*non mi permette ddi fare questo segnalando errore :Impossibile memorizzare in un oggetto Session un oggetto intrinseco. ???? */
                                         var serdb ;
                                         Session("uid")=serdb ;/*ne deve essere assegnato uno nuovo -....*/
                                                               /*manca la parte di registrazione dati in DB*/
                                          
                                         Response.write("é stata effettuata la registrazione");
                                      } else{Response.write("Il nome scelto per il nuovo account é gia esistente, si prega di rifare il login scegliendo un nuovo nome utente")};
                      }
    
    if (clk1 =="off"){ if(ndb == null){ Response.write(" Il nome indicato non corrisponde ad utenti già registrati, controllare la correttezza dei dati inseriti o registrare un nuovo account.  ")    
                                      } else{ 
                                               Response.write("Controllo PW
    ");
                                               Response.write("nome estratto da DB "+ndb+"
    ");
                                               Response.write("estratta da DB "+pww+"
    ");/*questi passi sono di prova e pare che i valori assegnati prima a queste variabili qui non siano considerati e non capisco perché*/
                                              
                                               
                                               if(pww == pw2){Response.write("Accesso Effettuato")}else{Response.write("Password ERRATA")};/*NON FUNGE inqunto é come se dentro l'if il valore della variabile creata all'inizio non esistesse*/
    
                                                
                                                                        
                                             } 
                      }%>
    HELP HELP
    Evander

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

    ho provato un'altra versione...

    ho provato poi a creare una versione diversa , ma il risultato non cambia :

    codice:
    <% if ((clk1 =="on")&&(ndb != null)){Response.write("Il nome scelto per il nuovo account é gia esistente, si prega di rifare il login scegliendo un nuovo nome utente")};
       if (clk1 =="off"){ if(ndb == null){ Response.write(" Il nome indicato non corrisponde ad utenti già registrati, controllare la correttezza dei dati inseriti o registrare un nuovo account.  ")}} ;
       if ((clk1 =="off")&&(ndb != null)&&(pww == pw2)){Response.write("Accesso Effettuato")};
       if ((clk1 =="off")&&(ndb != null)&&(pww != pw2)){Response.write("Password ERRATA")};%>
    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.