Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260

    Aiuto su controllo login

    ciao
    allora il mio problema è questo
    ho creato un sistema di login con un database contenente i campi id
    username password e stato(campo si no)

    il codice della pagina di login è questo
    <%
    Dim username
    Dim password
    Dim stato


    username = Replace(Request.Form("username"), "'", "''")
    password = Replace(Request.Form("password"), "'", "''")


    Dim Conn
    Dim Rs
    Dim SQL


    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
    server.MapPath("mdb-database/reg_utenti.mdb")
    sql = "SELECT * FROM utenti WHERE username='" &username& "' AND
    PASSWORD='" &password& "'"


    Set rs = conn.Execute (sql)


    Dim autenticato


    if rs.eof then
    autenticato = false
    else
    autenticato = true
    end if
    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing


    if autenticato = true then
    Session("Autenticato") = "OK"
    Response.Redirect("login_ok.asp")
    else
    Response.Redirect("no_login.asp")
    end if
    %>


    diciamo che funziona ma il problema è questo:
    come posso implementare il controllo dello stato?
    quello che dovrebbe fare è che se un utente si logga e quindi user
    password e stato=true allora procedi con il login(login_ok.asp), se
    user password e stato=false allora scrivi messaggio di errore,
    altrimenti(no_login.asp)


    grazie!

  2. #2

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    mmm

    allora stato suppongo sia un checkbox

    quindi basta che aggiungi:

    sql = "SELECT * FROM utenti WHERE username='" &username& "' AND
    PASSWORD='" &password& "'" & " and stato=0"

    in no_login.asp gli dai il messaggio di errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    prima di tutto grazie per l'attenzione, ci avevo gia pensato a questa
    soluzione ho provato mettendo stato = 1 solo che ora con AND stato=1" l'utente che ha come stato=1
    passa il login mentre l'utente con stato=0 visualizza l'errore che
    visualizzerebbe un utente che inserisce user e/o password errati.
    Io vorrei che nel caso in cui un utente si logghi con la propria user e
    password ma con stato=0 ci sia un messaggio del tipo : l'utente
    risulta presente nei nostri database ma non ha ancora confermato la
    sua iscrizione!

    grazie ancora!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    in poche parole dovrebbero esserci 3 condizioni...
    se user e passw errati -->no_login.asp
    se user e passw giusti ma stato = 0 -->account non ancora abilitato
    se user e password giusti e stato = 1 -->login_ok.asp e quindi session autenticato = ok

  6. #6
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    allora

    Originariamente inviato da mic3000
    in poche parole dovrebbero esserci 3 condizioni...
    se user e passw errati -->no_login.asp
    se user e passw giusti ma stato = 0 -->account non ancora abilitato
    se user e password giusti e stato = 1 -->login_ok.asp e quindi session autenticato = ok
    la cos a+ veloce che mi viene in mente ora è:

    if rs.eof then
    autenticato = false
    qui ti prendi l'id del record.
    ti fai un'altra query su quell'id per vedere lo stato e nel caso è a 0 lo rimandi alla pagina dove dici che il suo user non è ancora abilitato.
    else
    autenticato = true
    end if

    ma credo sia una cosa da migliorare ma così se vai di fretta funziona.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    niente non ci riesco...mi da sempre user e/o password errati(no_login.asp)
    qualcuno mi aiuta con il codice please???

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    non so se si era capito ma il campo stato è un capso si/no che viene settato di default nel database al momento della registrazione di un nuovo user e che cambia a 1 quando un utente clicca sul link per abilitare il suo account

  9. #9
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da mic3000
    niente non ci riesco...mi da sempre user e/o password errati(no_login.asp)
    qualcuno mi aiuta con il codice please???
    posta il codice che hai fatto

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    <%
    Dim username
    Dim password
    Dim stato

    username = Replace(Request.Form("username"), "'", "''")
    password = Replace(Request.Form("password"), "'", "''")

    Dim Conn
    Dim Rs
    Dim SQL

    Set Conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/reg_utenti.mdb")
    sql = "SELECT * FROM utenti WHERE username='" &username& "' AND PASSWORD='" &password& "'"

    Set rs = conn.Execute (sql)

    Dim autenticato

    if rs.eof then
    autenticato = false

    else

    sql = "SELECT ID FROM utenti WHERE stato='" &stato& "'"

    if stato = 0 then

    Response.Redirect("non_abilitato.asp")

    else
    autenticato = true
    end if


    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing

    If autenticato = true then
    Session("Autenticato") = "OK"
    Response.Redirect("login_ok.asp")
    Else
    Response.Redirect("no_login.asp")
    End if
    end if
    %>

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.