Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    username e password con asp e db access

    Ciao a tutti, e la prima volta che scrivo su un forum, quindi abbiate un po di pasienza con me.
    vengo subito al dunque, mi sto facendo un sito mio personale, e voglio che ad un area riservata possano accedere solo chi prima si e registrato con un form apposito.
    il form di registrazione funziona, e salva i dati in un database Acces.
    nella pagina dove e possibile fare l'accesso ho fatto un piccolo form che mi redirige i dati in una pagina asp, la funzione che collega al database va, ho fatto un piccolo if then else con uno mi riscrive cio che ho scritto nel campo username e l'altro mi ridirige nella pagina dell'accesso.
    il mio problema e capire come fare perche i dati scritti nel form di accesso venga controllato che ci siano all'interno del database,e quindi mandarmi nella pagina riservata, altrimenti i rimandi nella pagina del accesso.
    vi inserisco tutto il codice del asp cosi magari potete vedere meglio quello che ho combinato.

    <%
    ' Mappaggio del database
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("Accesso.mdb")

    Conn.Open strConn

    ' Stringa di interrogazione sulla tabella libri
    sql = "SELECT Username,Password FROM tabella1"

    'creazione del recordset
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    'definizioni delle 4 variabili
    dim strUser
    strUser = request.form("Username")
    dim strPass
    strPass = request.form("Password")


    ' inizio funzione logica


    if request.form("Username")<>"" AND request.form("Password")<>"" then
    'form compilato correttamente, si saluta il visitatore
    response.write strUser

    else
    'form non compilato correttamente. Si torna alla pagina precedente
    response.redirect "about_me.aspx"

    end if

    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>

    come vedete qui sopra ho creato anche 2 variabili, speravo di riuscire in qualche modo ma non sono riuscito.

    le colonne dove deve realmente controllare il database sono Username e Password, nella tabella le ho inserite così.

    spero vivamente in un vostro aiuto!
    grazie.

    p.s. il sito per poter controllare e www.alexrugin.it
    Sti Pc... mi fan impazzire!

  2. #2
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    dovresti fare una cosa del genere

    codice:
    'definizioni delle 4 variabili
    dim strUser
    strUser = request.form("Username")
    dim strPass
    strPass = request.form("Password")
    
    'creazione del recordset
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    ' Stringa di interrogazione sulla tabella passando i parametri del form di login
    sql = "SELECT * FROM tabella1 WHERE user = '" & strUser & "' and password = '" & strPass & "'"
    
    rs.Open sql, conn ,3,3
    
    if (rs.EoF and rs.BoF) then  'se il recordset è vuoto allora non esiste utente con questa user e password
    response.redirect("login_fallito.asp")
    else  'altrimenti l'utente esiste ed è stato effettuato il login
    response.redirect("login_effettuato.asp")
    end if
    prima del redirect in caso di accesso effettuato, puoi settare una variabile
    di sessione in modo da controllare in ogni pagina protetta se l'utente
    ha effettuato correttamente il login
    luca
    www.intheweb.it - Internet solutions

  3. #3
    ti ringrazio moltissimo per la dritta, ora provo a mettere il tutto in pratica, cosi vediamo se funziona.

    ti chiedo un'altra cosa, come faccio a mettere un controllo nelle pagine riservate?
    scusami ma sono al mio primo sito in programmazione asp, e altro particolare e che quello che ho fatto fin'ora non l'havevo mai studiato.

    grazie mille!
    Sti Pc... mi fan impazzire!

  4. #4
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    modifica il codice che ti ho già indicato aggiungendo
    la variabile di sessione in questo modo:
    codice:
    if (rs.EoF and rs.BoF) then  'se il recordset è vuoto allora non esiste utente con questa user e password
    response.redirect("login_fallito.asp")
    else  'altrimenti l'utente esiste ed è stato effettuato il login
    session("Username") = strUser
    response.redirect("login_effettuato.asp")
    end if
    settando la variabile di sessione Username con il valore della user.
    Nelle pagine di cui devi controllare l'accesso,
    come primissima cosa metti questo:

    codice:
    if Session("Username") = "" then Response.Redirect("login.asp")
    In questo modo se l'utente non ha effettuato correttamente il login
    viene reindirizzato alla pagina di login.
    In questo modo puoi anche recuperare il nome dell'utente
    che viene salvato nella variabile di sessione, utile per fare
    query per leggere i dati dell'utente che ha effettuato il login.
    Ad esempio, per dare il benvenuto all'utente con la sua username puoi fare:

    codice:
    Benvenuto <%=Session("Username") %>
    www.intheweb.it - Internet solutions

  5. #5
    Ah, Finalmente funziona!
    ti ringrazio moltissimo!

    ora finalmente posso gestirmi un po di lavoro da internet, senza impazzire con scartofie, ed in oltre le ditte con ciu collaboro posso prendere le prenotazioni dei lavori direttamente dal mio sito, senza dover telefonarmi tutte le volte.

    Grazie mille veramente per l'aiuto!

    www.alexrugin.it
    Sti Pc... mi fan impazzire!

  6. #6
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    di nulla...alle prox
    luca
    www.intheweb.it - Internet solutions

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.