Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: area riservata

  1. #1

    area riservata

    sto cercando di creare un'area riservata.. questo è il mio codice..
    codice:
    <%
    
    dim nome
    
    dim password
    
    dim email 
    
    nome=request.form("nome") 
    
    password=request.form("password") 
    
    email=request.form("email")
    
    'verifico se l'utente è già iscritto
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("blog.mdb")
    
    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "SELECT nome,password FROM utenti WHERE nome=" & nome & " AND password=" & password & "", conn, 2, 1
    rs.movenext
    
    if not(rs.eof) Then response.redirect("errore2.htm")
    
    rs.close
    conn.close
     
    set rs = nothing
    set conn = nothing
    
    if (rs.eof) Then
    
    'aggiungo l'utente
    
    Set conn = Server.CreateObject("ADODB.Connection") 
    
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("blog.mdb") 
    
    dim sql
    set sql = "SELECT * FROM utenti" 
    
    Set rs = Server.CreateObject("ADODB.Recordset") 
    
    rs.Open sql, conn, 3, 3 
    
    rs.AddNew
    
    rs.Fields("nome")=nome
    
    rs.Fields("password")=password
    
    rs.Fields("email")=email
    
    rs.update 
    
    rs.Close 
    
    Set rs=Nothing 
    
    conn.Close 
    
    Set conn=Nothing
    
    response.redirect("reg_ok.htm")
    
    end if
    %>
    e questo è l'errore che mi dà.. perché?
    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

    [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 2.

    /blog/registrami.asp,
    line 29
    fe..feu!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    364
    prova ad eliminare dal tuo codice queste righe

    rs.close
    conn.close

    set rs = nothing
    set conn = nothing

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    364
    poi scusami, ma rs.movenext dove l'hai messo tu a cosa serve ?

  4. #4
    in più, attenzione all'SQL injection nei campi nome e password...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    "...in più, attenzione all'SQL injection nei campi nome e password..."

    che intendi?

    cmq non è cambiato nulla.. in effetti il movenext non serviva a nulla m'era sfuggito.. ma l'errore che dà non capisco proprio da cosa dipenda..
    fe..feu!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    1°) Sql Injection :
    Risolvi mettendo questo :

    nome=Replace(request.form("nome"),"'","''")

    password=Replace(request.form("password") ,"'","''")

    ( Copia e sostituisci quello che ho scritto nel tuo codice ).

    2°) Il problema da te riscontrato e' causato dalla parola chiave PASSWORD. Per ovviare a tal problema, usa questa query :

    rs.Open "SELECT nome,[password] FROM utenti WHERE nome=" & nome & " AND [password]=" & password & "", conn, 2, 1

    HTH
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  7. #7
    Originariamente inviato da saucer
    ...
    2°) Il problema da te riscontrato e' causato dalla parola chiave PASSWORD. Per ovviare a tal problema, usa questa query :

    rs.Open "SELECT nome,[password] FROM utenti WHERE nome=" & nome & " AND [password]=" & password & "", conn, 2, 1
    ...
    Sarebbe assai meglio cambiare nome al campo, che se poi vuole portare il tutto su un server SQL si ritrova con orrendi casini!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    446
    Originariamente inviato da Shores
    Sarebbe assai meglio cambiare nome al campo, che se poi vuole portare il tutto su un server SQL si ritrova con orrendi casini!
    Ti do ragione, io ho solo spiegato il perche' del problema e come risolverlo con il minor sforzo possibile.
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  9. #9
    Utente di HTML.it L'avatar di Sandra
    Registrato dal
    May 2005
    Messaggi
    129

    area riservata

    codice:
    <%
    dim nome
    dim password
    dim email 
    nome= Replace(request.form("nome"),"'","''")
    password= Replace(request.form("password"),"'","''")
    email= Replace(request.form("email"),"'","''")
    'verifico se l'utente è già iscritto
    Dim conn
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("blog.mdb")
    Dim rs
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "SELECT * FROM utenti WHERE nome='"& nome &"' AND password='"& password &"'" ,conn, 3, 3
    if not(rs.eof) Then
    response.redirect("errore2.htm")
    else
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "SELECT * FROM utenti" ,conn, 3, 3
    %>
    <%
    rs.AddNew
    rs.Fields("nome")=nome
    rs.Fields("password")=password
    rs.Fields("email")=email
    rs.update 
    %>
    <%
    rs.Close 
    Set rs=Nothing 
    conn.Close 
    Set conn=Nothing
    response.redirect("reg_ok.htm")
    end if
    %>

  10. #10

    Re: area riservata

    Originariamente inviato da Sandra
    codice:
    ....
    Già, hai ragione, mancavano dei parametri della RS.open.

    Questo script naturalmente è quello di iscrizione, non quello di login, vero?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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 © 2026 vBulletin Solutions, Inc. All rights reserved.